1535 Commits

Author SHA1 Message Date
Tom Cosgrove
c4dfc08464
Merge pull request #9310 from valeriosetti/psasim_more_aut_tests
psasim: complete support of PSA functions in `psasim` and add basic "smoke test" applications
2024-06-26 11:46:25 +00:00
Ronald Cron
f0481f562a
Merge pull request #9258 from tom-daubney-arm/drop_padlock_support
Drop support for VIA Padlock
2024-06-26 07:36:04 +00: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
Ronald Cron
0417a2c746 Adapt component_test_when_no_ciphersuites_have_mac
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-19 09:45:01 +02:00
Ronald Cron
cd33cd6abf test_when_no_ciphersuites_have_mac: Fix logs
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-19 09:24:32 +02:00
Ronald Cron
cfce75f4c4 Remove component_test_full_no_bignum
Remove test_full_no_bignum as duplicate
of the test of the reference config
confgi-symmetric-only.h and
component_test_psa_crypto_config_accel_ecc_no_bignum().
Specifically, component_test_full_no_bignum was
added as part of preparation work for that component.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-19 09:24:32 +02:00
Ronald Cron
8dbea48958 Adapt test_full_no_cipher_ components
Adapt test_full_no_cipher_ components with
MBEDTLS_PSA_CRYPTO_CONFIG enabled.

Remove the component with no PSA crypto and
the one with MBEDTLS_PSA_CRYPTO_CONFIG disabled.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-19 09:13:52 +02:00
Ronald Cron
a67f1beb46 Adapt test_crypto_full_md_light_only
Adapt test_crypto_full_md_light_only with
MBEDTLS_PSA_CRYPTO_CONFIG enabled.

No need to disable PSA_WANT_ALG_HKDF as
the PSA implementation of HKDF is independent
of hkdf.c and thus of MAC through md.c.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-19 09:13:52 +02:00
Ronald Cron
de0d7e6cd0
Merge pull request #9247 from ronald-cron-arm/move-psa-headers
Move PSA headers to a new tf-psa-crypto directory
2024-06-18 18:48:24 +00:00
Thomas Daubney
95589c5c2e Further padlock removals from all.sh
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-06-18 14:23:37 +01:00
Thomas Daubney
62af02c063 Drop support for VIA Padlock
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-06-14 10:37:13 +01:00
Tom Cosgrove
7c52100fbd
Merge pull request #9238 from tom-cosgrove-arm/psasim_update_for_operation_types
Update PSA simulator C code to do operations by handles
2024-06-13 10:13:40 +00:00
Ronald Cron
30ea2b9191 all.sh: Update clean-up of Makefiles generated by CMake
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-13 09:51:27 +02:00
Ronald Cron
7e5d61c41a Adjust more paths to PSA headers
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-13 09:51:20 +02:00
Ronald Cron
5cdc22b458 all.sh: Fix clean-up of Makefiles generated by CMake
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-06-12 15:22:26 +02: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
Ronald Cron
0133d84a3d
Merge pull request #9199 from tom-daubney-arm/modify_test_everest_curve25519_only_for_psa
Make everest component work with PSA_CRYPTO_CONFIG set
2024-06-11 13:58:00 +00:00
Valerio Setti
f98635c360 psasim: build server library and binary before client's ones
This allows to keep the same CONFIG_H while building the Mbed TLS
library and the application (no matter if it's client or server).

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-06-11 14:26:42 +01:00
Tom Cosgrove
51b2c86852 Use our own copy of programs/psa/psa_hash.c in the PSA simulator tests
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-06-11 14:26:03 +01:00
Bence Szépkúti
d28534c5b0
Merge pull request #9062 from tom-daubney-arm/crypto_config-tls1_2_default_stream_cipher_only_use_psa
Make TLS 1.2 components work with PSA_CRYPTO_CONFIG set
2024-06-10 11:54:37 +00:00
Bence Szépkúti
c085cc767d
Merge pull request #9200 from davidhorstmann-arm/move-test-generation-files
Move test generation files to framework
2024-06-04 09:23:17 +00:00
David Horstmann
f6f3bcae43 Update file paths for moved files
Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-05-31 15:49:02 +01:00
Thomas Daubney
f29bf87696 Modify everest component for MBEDTLS_PSA_CRYPTO_CONFIG_ENABLED
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-30 16:28:57 +01:00
Tom Cosgrove
e2f0e3012a Extend PSA crypto simulator tests to run psa_hash.c under the simulator
Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-29 15:19:27 +01:00
Tom Cosgrove
3ebb880f90 Hook the new psa_sim_crypto_{client,server} into the build and tests
- smoke test client.c becomes a trivial call to psa_crypto_init()
- server.c now uses psa_sim_crypto_server.c's psa_crypto_call()
- Makefile is updated to build all the modules, and allow a different MAIN
- all.sh's test_psasim now tests the simulation of psa_hash_compute() too

Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
2024-05-29 15:19:10 +01:00
Ronald Cron
f5473a0260
Merge pull request #9057 from Ryan-Everett-arm/crypto-config-test_ref_configs
Update the reference configs to use `MBEDTLS_PSA_CRYPTO_CONFIG`
2024-05-23 05:58:55 +00:00
Tom Cosgrove
df1bfec990
Merge pull request #9121 from valeriosetti/issue8963
Add client-server build to all.sh
2024-05-20 07:14:37 +00:00
Thomas Daubney
a8004f27b7 Add additional CCM unset
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-17 14:48:47 +01:00
Thomas Daubney
8f83ba08e2 Change the way CBC is set
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-17 14:44:15 +01:00
Ronald Cron
a33a824d8a Resolve PBKDF2_AES_CMAC_PRF_128 dependencies
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-05-16 08:12:03 +02:00
Thomas Daubney
69ca57eadc Fix typo
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-14 16:29:23 +01:00
Thomas Daubney
b7c624ddd8 Remove _use_psa suffix from remaining components
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-14 16:11:00 +01:00
Thomas Daubney
5f2595a018 Remove non- _use_psa versions of components
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-14 16:09:34 +01:00
Valerio Setti
87d99fbd6c psasim: create a seedfile to be used for the crypto server
This allows to re-enable MBEDTLS_ENTROPY_NV_SEED since the
seedfile is correctly found in the "test" folder at runtime.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-14 10:57:35 +02:00
Valerio Setti
f57afd5acd all.sh: improvements
- add quotes to the $@ parameter in helper_crypto_client_build()
- instead of copying mbedtls_config.h to build static libraries,
  we rely on the already existing backup/cleanup mechanism which
  is available in all.sh.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-14 10:39:20 +02:00
Gilles Peskine
2cdc8f7aa5
Merge pull request #9122 from davidhorstmann-arm/fix-fuzzing-build-failures
Move some test data generation to main CMakeLists.txt (/ fix fuzzing build failures)
2024-05-12 18:56:11 +00:00
David Horstmann
cbea7d6e67 Add note explaining component purpose
We are testing that we don't break OSS-Fuzz, primarily.

Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-05-10 15:37:57 +01:00
Valerio Setti
c98f8ab5f7 crypto-client: allow debug build of libraries and test binaries
Add DEBUG=1 in test_psasim() to helpers and final make to build
the libraries and the final binaries with debug symbols
enabled.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-10 15:53:40 +02:00
David Horstmann
041ed42555 Add all.sh component for programs without tests
Check that we can build under CMake with ENABLE_TESTING=OFF but
ENABLE_PROGRAMS=ON.

Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-05-10 14:37:48 +01:00
Valerio Setti
cd89c1ffc8 crypto-client: simplify build of mbedtls static libraries
Instead of copying the entire library & include folders twice
to build libraries for client and server:

- change the main config file (mbedtls_config.h)
- build in the root library folder
- move the generated library in the psasim folder
- use those library for linking the client/server binaries

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-10 11:23:30 +02:00
Valerio Setti
dde9579fab all.sh: crypto-client: keep NV_SEED disabled in the server lib
This is necessary because otherwise the library is not able to
find the seedfile at runtime and it fails the initialization.
However since this test runs on a standard PC we can rely on
platform entropy as source of entropy.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-10 05:22:33 +02:00
Valerio Setti
655b9793c0 crypto-client test: implement the first IPC call for psa_crypto_init()
This commit implements the first useful IPC communication between
the client and the server. The implemented command is simple,
psa_crypto_init(), and its return value is sent back to the client.

Note: the newly added file psa_functions_codes.h is temporary
and it's probably the one that needs to be automatically
generated by a python script to support all crypto functions.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-10 05:22:23 +02:00
Thomas Daubney
67338c050a Restore toggling of MBEDTLS_CIPHER_MODE_CBC
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-09 15:21:14 +01:00
Valerio Setti
4362aaef7f crypto-client test: ensure that client/server are linked against proper MbedTLS libraries
Ensure that both server and client can call mbedtls_version_get_string_full()
to verify that they are linked against proper libraries.

Note: each side (client/server) performs the call against its own
MbedTLS library. There is no IPC communication involved in this
test. Client/server communication will come later.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-09 09:23:46 +02:00
Valerio Setti
d1b6ef1959 crypto-client test: add mechanism to build crypto library for client and server
It includes changes to:
- tests/Makefile: build the library for client and server in different
  folders. It mimica the libtestdriver1 behavior (without functions
  renaming though).
- tests/scripts/all.sh: helper function to build for client and
  server with some default configuration for each of them.
- crypto_spe.h: this is dummy file taken from the already existing
  tests. It's just meant to pacify the compiler, not to provide
  something useful. It will likely be changed in the future.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-09 07:31:54 +02:00
Valerio Setti
d9e4251278 all.sh: add test component to build and test psasim
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-05-06 15:59:51 +02:00
Thomas Daubney
1ca1f3d62f Restore Mbed TLS style AEAD options for now
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-05-02 09:48:29 +01:00
Thomas Daubney
ff33abd599 Modify component_test_tls1_2_default_cbc_legacy_cbc_etm_cipher_only_use_psa
Replace relevant Mbed TLS API config options with their PSA
API equivalents.

Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-04-26 17:08:34 +01:00
Thomas Daubney
6258621a0b Modify component_test_tls1_2_deafult_cbc_legacy_cipher_only_use_psa
Replace relevant Mbed TLS API config options with their PSA
API equivalents.

Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-04-26 17:01:16 +01:00
Thomas Daubney
b8cbbe7c90 Modify component_test_tls1_2_default_stream_cipher_only_use_psa
Replace relevant Mbed TLS API config options with their PSA
API equivalents.

Signed-off-by: Thomas Daubney <thomas.daubney@arm.com>
2024-04-26 16:46:06 +01:00