Gilles Peskine
f032fa9d94
Special handling for some always-on or alias symbols
...
Some symbols don't require a dependency symbol:
* Modifiers such as truncated MAC
* Always-on features such as the raw data key type
* Aliases or special values such as RSA PKCS#1v1.5 raw
I'm not convinced that all of these warrant special handling in the
script, rather than having the expected symbol defined somewhere. But
for now I prefer to minimize changes to the header files.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
81dec0047f
Remove classic crypto dependencies
...
Don't remove cipher-related dependencies because the corresponding
PSA_WANT_xxx dependencies are not implemented yet.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
e4f539caf9
Don't add cipher-related PSA_WANT_xxx because they aren't implemented yet
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
9bbba5ea69
Add a function to remove classic crypto dependencies
...
A list of symbols to remove will be added in a subsequent commit.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
2d2e924401
Implement basic update of PSA_WANT dependencies
...
Remove any existing PSA_WANT_xxx dependency. Add PSA_WANT_xxx
dependencies based on the PSA_KEY_TYPE_xxx and PSA_ALG_xxx symbols
used in the test case arguments.
PSA_ECC_FAMILY_xxx and PSA_DH_GROUP_xxx are not implemented yet in the
PSA conditional inclusion mechanism in Mbed TLS, so this script
doesn't handle them yet.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
45e9e73e66
Add a possibility to keep manual dependencies for certain functions
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
82ebaa4d36
Implement stanza parsing in .data files
...
Parse the existing dependencies. For now, just write them back.
Subsequent commits will implement the dependency processing that is
the goal of this program.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
bdffaeaf3a
New script to determine PSA crypto test dependencies automatically
...
This commit only contains a framework to rewrite .data files. No
actual modification of the content is implemented yet.
For now, command line parsing is trivial: just a list of file names,
with no options.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
6fea21d515
Declare a code dependency in the code instead of in the data
...
When using the test function persistent_key_load_key_from_storage with
DERIVE_KEY, there's a dependency on HKDF-SHA-256. Since this
dependency is in the code, declare it there rather than with the data.
If the depenency is not met, mark the test as skipped since it can't
create the key to be tested.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
51b8bb01cb
PSA_KEY_TYPE_DERIVE is always available
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
b65db07ae8
Add missing declaration of SHA-224 from MBEDTLS_SHA256_C
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Gilles Peskine
47a8933b0f
Declare PSA_KEY_TYPE_HMAC as well
...
HMAC requires both the algorithm and the key type to be effective.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-01 13:19:26 +01:00
Ronald Cron
336678bccc
tests: psa: Test PSA client-only code
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2021-02-01 13:17:23 +01:00
Ronald Cron
f7b666c508
tests: psa: Move PSA key attributes tests
...
Move PSA key attributes tests to their own
test suite to be able to run them when
MBEDTLS_PSA_CRYPTO_CLIENT is enabled but
not MBEDTLS_PSA_CRYPTO_C.
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2021-02-01 13:17:23 +01:00
Ronald Cron
21b5616ea3
psa: Move PSA client code
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2021-02-01 13:17:06 +01:00
Ronald Cron
d7906327ca
psa: Add psa_crypto_client.c
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2021-02-01 13:16:44 +01:00
Ronald Cron
3768ac12a8
Add MBEDTLS_PSA_CRYPTO_CLIENT configuration option
...
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2021-02-01 13:16:01 +01:00
Gilles Peskine
53943ca434
Merge pull request #3992 from stevew817/feature/ecp_no_fallback
...
Add a flag for disabling software fallback in ecp.c
2021-01-29 16:08:51 +01:00
Janos Follath
a209f34faf
Merge pull request #3996 from stevew817/feature/allow_reading_external_keys
...
Allow loading external wrapped keys
2021-01-29 13:34:11 +00:00
Janos Follath
594d7afa00
Merge pull request #3994 from stevew817/feature/cmac_self_test_skip_unsupported
...
Allow CMAC self test to skip tests for unsupported primitives
2021-01-29 13:17:17 +00:00
paul-elliott-arm
a14d1642f4
Merge pull request #4008 from stevew817/bugfix/fix_dependencies
...
Fix warnings and dependencies when using _ALT in test
2021-01-29 12:24:54 +00:00
Ronald Cron
88a8035860
Merge pull request #3953 from gilles-peskine-arm/python-mypy-mkdir
...
Python upscale: pass mypy and create library directory
2021-01-29 12:07:53 +01:00
Steven Cooreman
c7da6a48dd
Update comment to only apply to AES-192
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-29 11:09:50 +01:00
Ronald Cron
ac80be111b
Merge pull request #3878 from gilles-peskine-arm/psa-builtin-keys-via-slot-number-spec
...
New entry point get_builtin_key for opaque drivers (PSA spec)
2021-01-29 10:43:15 +01:00
Ronald Cron
318515b384
Merge pull request #3984 from gabor-mezei-arm/3268_update_macros_for_ouput_buffer_size_renames
...
Rename existing support macros for output buffer sizes for PSA Crypto API 1.0.0
2021-01-29 09:31:59 +01:00
Ronald Cron
0426e2545d
Merge pull request #4020 from gilles-peskine-arm/ssl_test_lib-hmac_drg
...
Support HMAC_DRBG in SSL test programs
2021-01-29 08:58:23 +01:00
Steven Cooreman
7dadf14e7b
Minor language correction after review
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-28 19:46:52 +01:00
Steven Cooreman
29eecbf6e1
move _bad_order() test case dependencies to the function itself
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-28 19:41:25 +01:00
gabor-mezei-arm
bdae918cd9
Fix documentation
...
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
2021-01-28 14:33:10 +01:00
David Carlier
2b8c2657e4
Implements getrandom's wrapper for handful of BSD.
...
Signed-off-by: David Carlier <devnexen@gmail.com>
2021-01-26 17:03:51 +00:00
Steven Cooreman
d80e8a4112
Check for existence of key material on store/load
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-26 14:28:48 +01:00
gabor-mezei-arm
86326a9131
Fix possible error codes in the documentation
...
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
2021-01-26 13:48:26 +01:00
Ronald Cron
ddb3bd57d3
Merge pull request #3897 from d3zd3z/fix-cmake28
...
cmake: Fix added sources to targets
2021-01-26 13:35:56 +01:00
Steven Cooreman
107409f470
Apply review feedback
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-26 12:01:22 +01:00
Ronald Cron
a120146afe
Merge pull request #3962 from gilles-peskine-arm/psa-storage-format-test-strategy
...
Keystore format stability test strategy
2021-01-25 16:44:23 +01:00
Gilles Peskine
75829a4296
Explain the explicit dependency on instrument_record_status.h
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-25 13:46:14 +01:00
Gilles Peskine
da9529f3e0
Update copypasta
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-25 13:42:42 +01:00
Gilles Peskine
94ad831f8e
Add comments to some endif guards
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-25 13:42:28 +01:00
Janos Follath
b034683a70
Merge pull request #4007 from stevew817/feature/alt_implementation_is_not_deterministic
...
Don't self-test ECJPAKE ALT implementations against known entropy
2021-01-25 12:39:03 +00:00
Gilles Peskine
055be83413
Fix typo
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-25 11:36:24 +01:00
Steven Cooreman
64f2773eab
Skip tests requiring known entropy for ECJPAKE ALT implementations
...
These implementations don't necessarily consume entropy the same way the
mbed TLS internal software implementation does, and the 'reference
handshake' test vectors can thus not be applied to an ALT implementation.
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-22 14:23:08 +01:00
Steven Cooreman
7eb2aa0dc1
Reworked NO_FALLBACK logic according to review feedback
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-22 09:43:59 +01:00
Steven Cooreman
77e09b697f
Don't turn on NO_FALLBACK for full build since it removes functionality
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-22 09:43:27 +01:00
gabor-mezei-arm
47278ee8f8
Add changelog entry
...
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
2021-01-21 14:03:57 +01:00
Steven Cooreman
b587313738
Doesn't make sense to have ECP_NO_FALLBACK when there's no ECP_INTERNAL_ALT.
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-21 13:59:17 +01:00
Steven Cooreman
6226a12acc
Documentation update for MBEDTLS_ECP_NO_FALLBACK
...
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
2021-01-21 13:58:31 +01:00
gabor-mezei-arm
d25ea720fd
Fix rename of output buffer size macros
...
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
2021-01-21 13:20:21 +01:00
gabor-mezei-arm
cbcec21684
Rename output buffer size macros
...
Rename existing support macros for output buffer sizes for PSA Crypto API 1.0.0
Signed-off-by: gabor-mezei-arm <gabor.mezei@arm.com>
2021-01-21 13:17:25 +01:00
Gilles Peskine
84ae1eefb4
Minor clarification
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-20 20:20:10 +01:00
Gilles Peskine
3d67365ef7
Add a key_buffer_length output to "get_builtin_key"
...
While builtin keys will often have a fixed-size context, this is not
necessarily the case, so the "get_builtin_key" entry point needs to
return the size of the actual key context.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-01-20 20:19:14 +01:00