mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 11:05:47 +01:00
Minimal update to mention unified-interface opaque drivers
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
db6b03b4f2
commit
f0e2853d46
@ -4,9 +4,19 @@ This document describes the test strategy for the driver interfaces in Mbed Cryp
|
|||||||
|
|
||||||
The driver interfaces are standardized through PSA Cryptography functional specifications.
|
The driver interfaces are standardized through PSA Cryptography functional specifications.
|
||||||
|
|
||||||
## Secure element driver interface
|
## Secure element driver interface testing
|
||||||
|
|
||||||
The secure element driver interface (SE interface for short) is defined by [`psa/crypto_se_driver.h`](../../../include/psa/crypto_se_driver.h). This is an interface between Mbed Crypto and one or more third-party drivers.
|
### Secure element driver interfaces
|
||||||
|
|
||||||
|
#### Opaque driver interface
|
||||||
|
|
||||||
|
The [unified driver interface](../../proposed/psa-driver-interface.md) supports both transparent drivers (for accelerators) and opaque drivers (for secure elements).
|
||||||
|
|
||||||
|
Drivers exposing this interface need to be registered at compile time by declaring their JSON description file.
|
||||||
|
|
||||||
|
#### Dynamic secure element driver interface
|
||||||
|
|
||||||
|
The dynamic secure element driver interface (SE interface for short) is defined by [`psa/crypto_se_driver.h`](../../../include/psa/crypto_se_driver.h). This is an interface between Mbed Crypto and one or more third-party drivers.
|
||||||
|
|
||||||
The SE interface consists of one function provided by Mbed Crypto (`psa_register_se_driver`) and many functions that drivers must implement. To make a driver usable by Mbed Crypto, the initialization code must call `psa_register_se_driver` with a structure that describes the driver. The structure mostly contains function pointers, pointing to the driver's methods. All calls to a driver function are triggered by a call to a PSA crypto API function.
|
The SE interface consists of one function provided by Mbed Crypto (`psa_register_se_driver`) and many functions that drivers must implement. To make a driver usable by Mbed Crypto, the initialization code must call `psa_register_se_driver` with a structure that describes the driver. The structure mostly contains function pointers, pointing to the driver's methods. All calls to a driver function are triggered by a call to a PSA crypto API function.
|
||||||
|
|
||||||
@ -18,6 +28,8 @@ Many SE driver interface unit tests could be covered by running the existing API
|
|||||||
|
|
||||||
#### SE driver registration
|
#### SE driver registration
|
||||||
|
|
||||||
|
This applies to dynamic drivers only.
|
||||||
|
|
||||||
* Test `psa_register_se_driver` with valid and with invalid arguments.
|
* Test `psa_register_se_driver` with valid and with invalid arguments.
|
||||||
* Make at least one failing call to `psa_register_se_driver` followed by a successful call.
|
* Make at least one failing call to `psa_register_se_driver` followed by a successful call.
|
||||||
* Make at least one test that successfully registers the maximum number of drivers and fails to register one more.
|
* Make at least one test that successfully registers the maximum number of drivers and fails to register one more.
|
||||||
|
Loading…
Reference in New Issue
Block a user