Commit Graph

82 Commits

Author SHA1 Message Date
Harry Ramsey
d617283187 Fix failing psasim tests
This commit fixes failing psasim tests by ensuring that
MBEDTLS_VERSION_C is defined before attempting to access version
information.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
2024-10-07 14:50:00 +01:00
Gilles Peskine
7db1bcdb34 Update generated PSA wrappers
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-08-05 15:52:37 +02:00
Gilles Peskine
fd46f7f173 Migrate psasim wrappers to psa_custom_key_parameters_t
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-08-05 15:52:37 +02:00
Gilles Peskine
4b3b4fe56e Remove cruft and update documentation
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-08-02 12:42:01 +02:00
Gilles Peskine
4c3ff16431 Enhance existing skip mechanism instead of duplicating it
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-08-01 16:40:49 +02:00
Gilles Peskine
2e9a7eef2c Parse the actual headers
Parse the actual header instead of a copy that's going to get out of date
very soon.

No change to the generated output.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-07-31 21:21:31 +02:00
Gilles Peskine
2910f4d61b Write output files to the expected directory
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-07-31 21:21:31 +02:00
Ronald Cron
3943467863 psasim: Fix doorbell file path
Do not apply twice TMP_FILE_BASE_PATH

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-07-22 12:29:23 +02:00
Ronald Cron
c04c2ed2eb Revert "Adapt psasim"
This reverts commit b6f6cc89d0.

The usage of files /tmp/ could result in race conditions if
several several are run on the same machine.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-07-22 12:29:17 +02:00
Ronald Cron
b6f6cc89d0 Adapt psasim
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-07-19 10:07:27 +02:00
Tom Cosgrove
caee58f559 psasim: add a bit of white-box testing to hash operations
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-07-02 15:45:55 +02:00
Valerio Setti
6271004da9 psasim: remove sleep on server side to make test as fast as possible
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-07-02 11:40:48 +02:00
Tom Cosgrove
7cdb1dde60 psasim: invalidate operations on abort+finish
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-07-02 11:40:48 +02:00
Valerio Setti
7fe75ba72d psasim: minor fixes to the core
- do not try to close a connection that was never started
- fix data chunks length for psa_write (prevent memcpy-ing
  to large blocks of data)

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-07-02 11:40:48 +02:00
Valerio Setti
4848f9d64f psasim: fix max line length in generated files
Prevent generated files from having lines longer than 100 chars which
would trigger CI failures on code style checks.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:18:01 +02:00
Valerio Setti
9dc928990f psasim: add AUT for asymmetric encryption/decryption
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:17:51 +02:00
Valerio Setti
e9829e59c5 psasim: add AUT for cipher encryption/decryption
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:17:32 +02:00
Valerio Setti
87be9db668 psasim: add AUT for key derivation
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:17:32 +02:00
Valerio Setti
a06b22d709 psasim: add AUT for symmetric encryption/decryption
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:17:13 +02:00
Valerio Setti
bb1502b804 psasim: add AUT for PSA sign and verify
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:16:50 +02:00
Valerio Setti
6d6fe8b2d5 psasim: add AUT for key generation and raw key agreement
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:16:39 +02:00
Valerio Setti
f79e17a3d5 psasim: add AUT for MAC
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:16:25 +02:00
Valerio Setti
25afdc1309 psasim: add AUT for psa_generate_random()
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:16:00 +02:00
Valerio Setti
5beb236835 psasim: merge all AUT programs into a single executable
This makes both building and testing much faster.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-25 14:15:30 +02:00
Tom Cosgrove
d32fac276d psasim: have the generator script check for type = "void" rather than name = "(void)"
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:03:01 +02:00
Tom Cosgrove
4d8d5569d8 psasim: add support for psa_reset_key_attributes()
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:10 +02:00
Tom Cosgrove
feb021695a psasim: add support for psa_copy_key()
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:10 +02:00
Tom Cosgrove
05c99e13e6 psasim: add support for psa_{sign,verify}_hash_xxx() and get/set max ops
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:09 +02:00
Tom Cosgrove
9b10cf7e39 psasim: add support for PSA functions that return uint32_t or void
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:08 +02:00
Tom Cosgrove
1a8b805cf5 psasim: add support for key functions that don't need psa_key_attributes_t
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:08 +02:00
Tom Cosgrove
8f1c913e38 psasim: add support for psa_asymmetric_{encrypt,decrypt}() to the simulator
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:07 +02:00
Tom Cosgrove
6add43aac8 psasim: add support for psa_{sign,verify}_{message,hash}() to the simulator
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:06 +02:00
Tom Cosgrove
5d4b9cb2e2 psasim: add support for psa_generate_key*() to the simulator
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:06 +02:00
Tom Cosgrove
c3236b85da psasim: add support for psa_key_derivation_xxx() and psa_raw_key_agreement() to the simulator
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:05 +02:00
Tom Cosgrove
623fcb37d6 psasim: add the ability to serialise psa_key_production_parameters_t
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:04 +02:00
Tom Cosgrove
a2d81c9fb6 psasim: psa_key_derivation_verify_bytes() doesn't follow the naming convention for a buffer, so override
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:04 +02:00
Tom Cosgrove
c6d2e768d6 psasim: use ser_params and ser_result variable names in client; 'params' is needed by some PSA functions
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:03 +02:00
Tom Cosgrove
55b62dab75 psasim: skip some functions; see _SKIP_FUNCTIONS in generate_psa_wrappers.py
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:02 +02:00
Tom Cosgrove
a4eac4a84d psasim: add support for psa_cipher_xxx() functions
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:02 +02:00
Tom Cosgrove
853ca0cdb0 psasim: add support for psa_mac_xxx() functions
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:02:01 +02:00
Tom Cosgrove
baace2f7ba psasim: add support for psa_generate_random()
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-24 08:01:29 +02:00
Tom Cosgrove
150b88c9d2 Merge pull request #9280 from valeriosetti/psasim-reset-slots-on-disconnection
psasim-server: add function to reset operations slots
2024-06-19 11:10:52 +01:00
Tom Cosgrove
125440d344 Merge pull request #9278 from valeriosetti/fix-psasim-logs
psa_sim: improve log prints
2024-06-19 11:03:05 +01:00
Tom Cosgrove
a60d9223d6 Update psa_sim_serialise.pl to create the psa_sim_serialise.c we want
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-18 13:22:21 +01:00
Tom Cosgrove
37610024e9 Update psa_sim_generate.pl to create the psa_sim_crypto_client.c we want
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-18 14:10:55 +02:00
Valerio Setti
2eb8cc7d9d psa_sim: improve log prints
- always print ERROR and FATAL messages because they should never
  occur, but when they do it's important to see them immediately;
- keep INFO prints under DEBUG guard;
- set client's PRINT as INFO message because otherwise it will
  mess test_suites's output;
- change some error messages from INFO to ERROR because that's
  what they are.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-18 14:10:54 +02:00
Tom Cosgrove
2468896857 Have psa_sim_serialise.pl generate psa_sim_serialize_reset()
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-18 12:32:57 +01:00
Tom Cosgrove
aaf7e859a4 Have psa_sim_generate.pl add psa_crypto_close() to psa_sim_crypto_server.c
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-18 12:31:57 +01:00
Valerio Setti
2fd9572f27 psasim-server: add function to reset operations slots
When the client disconnects the server can clean operations slots
so that upcoming clients will not hit the maximum slot limit
(at least it's very unlikely to happen for normal clients).

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-18 11:00:17 +02:00
Valerio Setti
2687e4797d psa_sim: make server ping time much faster
Reduce server's ping time for messages from 50ms to 1us because
otherwise tests suites will take forever to execute.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-18 10:37:30 +02:00