mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-28 00:21:48 +03:00
Changes PSA key storage format to include key bits
* Stores bits in psa_persistent_key_storage_format. * psa_load_persistent_key_into_slot still imports plaintext keys which ensures that the bits value gets set. * Updates key specification to match new implementation. * Expands persistent store and load tests with to check for bits attribute. * Removes bits storage from psa_se_key_data_storage_t. Signed-off-by: Torstein Nesse <torstein.nesse@silabs.com>
This commit is contained in:
@ -204,6 +204,7 @@ Integrated in Mbed OS TBD.
|
||||
|
||||
* The layout of a key file now has a lifetime field before the type field.
|
||||
* Key files can store references to keys in a secure element. In such key files, the key material contains the slot number.
|
||||
* The type field has been split into a type and a bits field of 2 bytes each.
|
||||
|
||||
### File namespace on a PSA platform on TBD
|
||||
|
||||
@ -244,13 +245,15 @@ The layout of a key file is:
|
||||
* magic (8 bytes): `"PSA\0KEY\0"`.
|
||||
* version (4 bytes): 0.
|
||||
* lifetime (4 bytes): `psa_key_lifetime_t` value.
|
||||
* type (4 bytes): `psa_key_type_t` value.
|
||||
* type (2 bytes): `psa_key_type_t` value.
|
||||
* bits (2 bytes): `psa_key_bits_t` value.
|
||||
* policy usage flags (4 bytes): `psa_key_usage_t` value.
|
||||
* policy usage algorithm (4 bytes): `psa_algorithm_t` value.
|
||||
* policy enrollment algorithm (4 bytes): `psa_algorithm_t` value.
|
||||
* key material length (4 bytes).
|
||||
* key material:
|
||||
* For a transparent key: output of `psa_export_key`.
|
||||
* For an opaque key (unified driver interface): driver-specific opaque key blob.
|
||||
* For an opaque key (key in a secure element): slot number (8 bytes), in platform endianness.
|
||||
* Any trailing data is rejected on load.
|
||||
|
||||
|
Reference in New Issue
Block a user