Gilles Peskine
0c77b0e2f9
Merge pull request #198 from gilles-peskine-arm/psa-api-1.0-beta-merge_development_20190801
...
Merge mbed-crypto/development into psa-api-1.0-beta
2019-08-08 10:24:53 +02:00
Gilles Peskine
8b66389d0d
Adjust secure element code to the new ITS interface
2019-07-31 17:57:57 +02:00
Gilles Peskine
7e0cff90b9
Move attribute fields to a substructure
...
Move the "core attributes" to a substructure of psa_key_attribute_t.
The motivation is to be able to use the new structure
psa_core_key_attributes_t internally.
2019-07-30 20:58:27 +02:00
Gilles Peskine
340b127ed1
psa_destroy_se_key: explain why the error is NOT_PERMITTED
2019-07-25 14:13:24 +02:00
Gilles Peskine
2e0f388d2a
Don't explicitly dereference function pointers
...
Be stylistically consistent.
2019-07-25 11:42:19 +02:00
Gilles Peskine
75c126b958
Explain some non-obvious parts of the code
...
Comment changes only.
2019-07-24 15:56:01 +02:00
Gilles Peskine
573bbc1b4e
Error out if a driver tries to store more than ITS can handle
...
Cast explicitly for the sake of MSVC which otherwise (usefully!) warns
about the truncation.
2019-07-23 20:23:16 +02:00
Gilles Peskine
8b96cad204
SE drivers: implement persistent storage
...
Store the persistent data of secure element drivers.
This is fully implemented, but not at all tested.
2019-07-23 17:38:08 +02:00
Gilles Peskine
354f7671f4
SE keys: support destroy
...
When destroying a key in a secure element, call the driver's destroy
method and update the driver's persistent data in storage.
2019-07-12 23:46:38 +02:00
Gilles Peskine
cbaff467ef
SE keys: allocate a slot before creating the key
2019-07-12 23:46:04 +02:00
Gilles Peskine
5243a202c3
Driver context manipulation functions
...
Create the driver context when registering the driver.
Implement some helper functions to access driver information.
2019-07-12 23:42:20 +02:00
Gilles Peskine
f989dbe6d8
SE driver lookup functions
...
Expose the type of an entry in the SE driver table as an opaque type
to other library modules. Soon, driver table entries will have state,
and callers will need to be able to access this state through
functions using this opaque type.
Provide functions to look up a driver by its lifetime and to retrieve
the method table from an entry.
2019-07-12 11:47:50 +02:00
Gilles Peskine
9717d107ca
Explain that lifetime=0 from static initialization means VOLATILE
2019-06-26 20:01:35 +02:00
Gilles Peskine
a8ade16ffd
Gate secure element support by a separate config option
...
Secure element support has its own source file, and in addition
requires many hooks in other files. This is a nontrivial amount of
code, so make it optional (but default on).
2019-06-26 20:01:35 +02:00
Gilles Peskine
d089021128
Unregister drivers on library deinitialization
2019-06-24 19:55:48 +02:00
Gilles Peskine
a899a72fd0
Implement the secure element driver registration function
2019-06-24 19:55:44 +02:00