David Horstmann
5d64c6acca
Generate memory poisoning in wrappers
...
Generate memory poisoning code in test wrappers for:
* psa_sign_hash_start()
* psa_sign_hash_complete()
* psa_verify_hash_start()
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-03-11 15:56:13 +00:00
David Horstmann
63dfb45e5e
Merge pull request #1181 from tom-daubney-arm/key_agreement_buffer_protection
...
Implement safe buffer copying in key agreement
2024-03-11 15:10:49 +00:00
tom-daubney-arm
d4c57c0ad2
Merge branch 'development-restricted' into key_agreement_buffer_protection
...
Signed-off-by: tom-daubney-arm <74920390+tom-daubney-arm@users.noreply.github.com >
2024-03-06 16:47:13 +00:00
David Horstmann
a5175634b0
Merge branch 'development-restricted' into copying-pake
...
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-03-06 11:18:28 +00:00
Gábor Mezei
716cf2d4e0
Merge branch 'development-restricted' into buffer_protection_for_cipher
...
Signed-off-by: Gábor Mezei <63054694+gabor-mezei-arm@users.noreply.github.com >
2024-03-04 15:38:05 +00:00
David Horstmann
c5688a2629
Merge branch 'development-restricted' into generate-random-buffer-protection
...
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-02-29 14:25:56 +00:00
tom-daubney-arm
840dfe8b41
Merge branch 'development-restricted' into asymmetric_encrypt_buffer_protection
...
Signed-off-by: tom-daubney-arm <74920390+tom-daubney-arm@users.noreply.github.com >
2024-02-28 15:42:38 +00:00
Gabor Mezei
b74ac66c8b
Update test wrapper functions for ciper buffer protection
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2024-02-28 15:17:18 +00:00
Gabor Mezei
b8f97a1f3f
Add test wrapper functions for cipher buffer protection
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2024-02-28 15:17:17 +00:00
David Horstmann
075c5fb76f
Generate test wrappers for psa_generate_random()
...
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-02-26 17:12:34 +00:00
tom-daubney-arm
5cd611d144
Merge branch 'development-restricted' into mac_buffer_protection
...
Signed-off-by: tom-daubney-arm <74920390+tom-daubney-arm@users.noreply.github.com >
2024-02-22 15:26:06 +00:00
David Horstmann
cf3457ef26
Merge pull request #1132 from davidhorstmann-arm/copying-aead
...
Copy buffers in AEAD
2024-02-20 16:07:30 +00:00
Thomas Daubney
fe2bda3257
Generate test wrappers
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2024-02-15 13:35:06 +00:00
David Horstmann
b539126670
Merge pull request #1156 from Ryan-Everett-arm/key-derivation-buffer-protection
...
Add buffer copying to the Key Derivation API
2024-02-15 11:54:20 +00:00
Thomas Daubney
54e6b412bd
Generate all test wrappers
...
One was missed due to a typo
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2024-02-12 12:49:22 +00:00
Thomas Daubney
27b48a312f
Generate test wrappers
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2024-02-12 12:49:19 +00:00
Thomas Daubney
a1cf1010cc
Generate test wrappers for mac functions
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2024-02-12 12:07:35 +00:00
Thomas Daubney
45c8586a91
Generate test wrappers for hash functions
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2024-02-12 11:43:03 +00:00
Ryan Everett
198a4d98d5
Generate test wrappers for key derivation
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com >
2024-02-07 17:32:16 +00:00
David Horstmann
86e6fe0cce
Generate poisoning wrappers for AEAD
...
Modify wrapper generation script to generate poisoning calls and
regenerate wrappers.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-02-06 13:39:02 +00:00
Dave Rodgman
e883870cc7
Merge branch 'development-restricted' into update-development-r
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2024-02-02 18:03:29 +00:00
Ryan Everett
84a666daa8
Re-add cipher_encrypt to test wrapper script
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com >
2024-02-02 10:33:09 +00:00
Ryan Everett
77b91e3930
Generate test wrappers for key management
...
Signed-off-by: Ryan Everett <ryan.everett@arm.com >
2024-02-02 10:33:09 +00:00
Thomas Daubney
f430f47434
Generate test wrappers
...
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2024-01-30 12:25:35 +00:00
Dave Rodgman
047c724c22
Merge remote-tracking branch 'restricted/development-restricted' into update-development-r
...
Conflicts:
programs/Makefile
tests/scripts/check-generated-files.sh
2024-01-26 12:42:51 +00:00
David Horstmann
6076fe486b
Generate poisoning in PAKE test wrappers
...
Enable memory poisoning for all functions whose names start with
'psa_pake'. Regenerate the wrappers and commit the result.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-01-24 15:42:11 +00:00
David Horstmann
9c5c9c351d
Merge pull request #1141 from davidhorstmann-arm/memory-poisoning-runtime-enable
...
Enable and disable memory poisoning at runtime
2024-01-24 14:46:43 +00:00
Manuel Pégourié-Gonnard
34c6e8a770
Merge pull request #8700 from valeriosetti/issue8461
...
psa_asymmetric_encrypt() doesn't work with opaque driver
2024-01-22 08:43:08 +00:00
Gilles Peskine
4d4891e18a
Merge pull request #8666 from valeriosetti/issue8340
...
Export the mbedtls_md_psa_alg_from_type function
2024-01-18 13:58:55 +00:00
Valerio Setti
4f34b155f5
test_driver_key_management: keep mbedtls_test_opaque_wrap_key() private
...
Only mbedtls_test_opaque_unwrap_key() is actually needed by other
test drivers to deal with opaque keys. mbedtls_test_opaque_wrap_key()
can be kept private to test_driver_key_management.c.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no >
2024-01-18 08:44:13 +01:00
David Horstmann
fad038c501
Change memory poisoning flag to a count
...
This allows unusually-nested memory poisoning to work correctly, since
it keeps track of whether any buffers are still poisoned, rather than
just disabling poisoning at the first call to the UNPOISON() macro.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-01-17 14:23:20 +00:00
Gilles Peskine
4411c9c1f8
Disable PSA wrappers psa_collect_statuses builds
...
`psa_collect_statuses.py` runs `make RECORD_PSA_STATUS_COVERAGE_LOG=1`,
which builds with `RECORD_PSA_STATUS_COVERAGE_LOG`. In this mode, the build
includes wrappers for PSA functions, which conflict with the newly
introduced wrappers that are enabled whenever `MBEDTLS_TEST_HOOKS` is
enabled. In the future, the collect-statuses mechanism should use the new
generic wrapper mechanism. For the time being, keep the old wrappers and
avoid the new wrappers when doing the collect-statuses build.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2024-01-15 19:30:48 +01:00
Gilles Peskine
88385c2f74
PSA wrappers: don't poison buffers when buffer copying is disabled
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2024-01-15 19:30:29 +01:00
Gilles Peskine
8e7960b685
Remove the manually written poisoning wrapper
...
This fixes the build with ASan + MBEDTLS_TEST_HOOKS.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2024-01-15 19:22:15 +01:00
Gilles Peskine
90d14d7fc2
Update generated PSA wrappers
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2024-01-15 19:21:36 +01:00
Gilles Peskine
6e4332cc24
Commit generated PSA wrappers
...
Commit files generated by `tests/scripts/generate_psa_wrappers.py`. As of
this commit, the new code is neither useful (the wrappers just call the
underlying functions) nor used (the wrapper functions are not called from
anywhere). This will change in subsequent commits.
This is a deviation from our normal practice of generating
configuration-independent platform-independent files as part of the build in
the development branch. The PSA test wrappers will be committed to the
repository for some time for two reasons:
* In the short term, we will review the generated code but not fully review
the generator script.
* The build scripts cannot yet accommodate a generated header file.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2024-01-15 19:12:05 +01:00
Valerio Setti
62b6f10f64
test_driver_asymmetric_encryption: implement opaque [en/de]cryption functions
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no >
2024-01-15 16:30:07 +01:00
Valerio Setti
66a827fc83
test_driver_key_management: make opaque [un]wrapping functions public
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no >
2024-01-15 15:00:52 +01:00
David Horstmann
8174478f82
Use thread-local flag to enable memory poisoning
...
Allow memory poisoning to be enabled and disabled at runtime using a
thread-local flag. This allows poisoning to be disabled whenever a PSA
function is called but not through the test wrappers, removing false
positive use-after-poisons.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2024-01-12 15:13:54 +00:00
Tom Cosgrove
3a6059beca
Merge pull request #7455 from KloolK/record-size-limit/comply-with-limit
...
Comply with the received Record Size Limit extension
2024-01-09 15:22:17 +00:00
Valerio Setti
384fbde49a
library/tests: replace md_psa.h with psa_util.h as include file for MD conversion
...
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no >
2024-01-02 13:27:32 +01:00
Waleed Elmelegy
049cd302ed
Refactor record size limit extension handling
...
Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com >
2023-12-20 17:28:31 +00:00
David Horstmann
2de5abf284
Only poison memory when buffer copying is enabled
...
Make sure that we don't enable memory poisoning when
MBEDTLS_PSA_COPY_CALLER_BUFFERS is disabled.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2023-12-20 11:26:40 +00:00
David Horstmann
6d43e6d76a
Add missing newline at end of file
...
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2023-12-18 15:58:17 +00:00
David Horstmann
83ece2fe49
Add extra MBEDTLS_PSA_CRYPTO_C guard for header
...
Do not include psa_memory_poisoning_wrappers.h unless
MBEDTLS_PSA_CRYPTO_C is set.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2023-12-18 15:34:06 +00:00
David Horstmann
666845322c
Improve guards around memory poisoning setup
...
We should not setup or teardown test hooks when we do not have
MBEDTLS_PSA_CRYPTO_C.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2023-12-15 18:35:09 +00:00
David Horstmann
b489257a0b
Move test hook setup and teardown to helpers.c
...
Setup and teardown test hooks during full test platform setup.
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2023-12-14 16:09:07 +00:00
David Horstmann
a7cde5d296
Move test hook setup functions into a C file
...
Signed-off-by: David Horstmann <david.horstmann@arm.com >
2023-12-14 16:09:07 +00:00
Manuel Pégourié-Gonnard
1f67363d6a
Merge pull request #8616 from lpy4105/issue/8553/test-driver-only-rsa
...
Add test for driver-only RSA (crypto only)
2023-12-14 11:05:55 +00:00
Pengyu Lv
f1cacad870
Correctly use asymmetric encrypt/decrypt driver
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-12-07 10:22:35 +08:00