41 Commits

Author SHA1 Message Date
Felix Conway
92efce2b84 [development] Remove code relating to MBEDTLS_PSA_INJECT_ENTROPY
Signed-off-by: Felix Conway <felix.conway@arm.com>
2025-03-28 09:01:05 +01:00
Valerio Setti
b33e06c56f tests: psasim: remove references to mbedtls_psa_register_se_key()
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2025-03-26 13:32:54 +01:00
Valerio Setti
1027c4cc3c psasim: add support for psa_can_do_hash()
This commit also includes regenerated C and H files.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2025-03-03 15:36:14 +01:00
Paul Elliott
958bdf7f16 Add required code to psa_sim_generate.pl
Non generated code was unfortnuately added to psa_sim_crypto_server.c,
fix that by adding it to the generation scripts.

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
2024-11-15 14:09:03 +00: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
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
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
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
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
Tom Cosgrove
0fe5b8d4a3 Add support for and run (a copy of) the PSA aead_demo program under PSA sim
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-11 17:26:17 +01:00
Tom Cosgrove
b923b473e7 Have PSA sim client wrappers say which call fails, if one does
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-11 17:19:31 +01:00
Valerio Setti
75129e2ce3 psa_sim_crypto_[client/server]: check if CRYPTO_C is enabled
CRYPTO_C must or must-not be enabled on client and server
sides as follows:

- if it's enabled while building the client side it's a failure;
- it it's NOT enabled while building the server it's a failure.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-11 14:26:36 +01:00
Tom Cosgrove
9ab19695b5 Make psa_sim_generate.pl output the new type of server wrapper we want
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-10 14:24:28 +01:00
Tom Cosgrove
0ca70d51d7 Add missing licences
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-30 11:12:22 +01:00
Tom Cosgrove
8bfb758e87 PSA crypto sim's server wrappers need to free deseraliased buffers when they're no longer needed
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-29 22:48:45 +01:00
Tom Cosgrove
ca0c147354 Mark temporary PSA crypto sim Perl scripts as executable
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-29 16:52:38 +01:00
Tom Cosgrove
61ee59f041 Add the rest of the psa_hash_xxx() functions to the simulator
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-29 15:19:27 +01:00
Tom Cosgrove
54b4ccdbf8 Add PSA crypto sim client and server implementations of psa_hash_compute()
A Perl script that creates them is also included as reference. This is not the
final script (that will be in Python) but a proof-of-concept to show that
creaation client and server wrappers can be scripted.

It is not hooked into the build: it must be run manually. It is not part of the
deliverables for this PR.

Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-29 10:27:01 +01:00