/openthread-latest/third_party/mbedtls/repo/library/ |
D | psa_crypto_se.c | 76 const psa_se_drv_table_entry_t *driver) in psa_get_se_driver_methods() argument 78 return driver->methods; in psa_get_se_driver_methods() 82 psa_se_drv_table_entry_t *driver) in psa_get_se_driver_context() argument 84 return &driver->u.context; in psa_get_se_driver_context() 91 psa_se_drv_table_entry_t *driver = psa_get_se_driver_entry(lifetime); in psa_get_se_driver() local 93 *p_methods = (driver ? driver->methods : NULL); in psa_get_se_driver() 96 *p_drv_context = (driver ? &driver->u.context : NULL); in psa_get_se_driver() 98 return driver != NULL; in psa_get_se_driver() 108 const psa_se_drv_table_entry_t *driver, in psa_get_se_driver_its_file_uid() argument 111 if (driver->location > PSA_MAX_SE_LOCATION) { in psa_get_se_driver_its_file_uid() [all …]
|
D | psa_crypto_se.h | 109 const psa_se_drv_table_entry_t *driver); 119 psa_se_drv_table_entry_t *driver); 134 psa_se_drv_table_entry_t *driver, 142 psa_status_t psa_destroy_se_key(psa_se_drv_table_entry_t *driver, 158 const psa_se_drv_table_entry_t *driver); 174 const psa_se_drv_table_entry_t *driver);
|
/openthread-latest/third_party/mbedtls/repo/docs/ |
D | psa-driver-example-and-guide.md | 1 # PSA Cryptoprocessor driver development examples 3 …driver and the method for integrating a driver with Mbed TLS will vary depending on the operation … 5 …driver system. The [PSA Driver Interface](https://github.com/Mbed-TLS/mbedtls/blob/development/doc… 6 …driver-developer-guide.md) Guide describes the deliverables for writing a driver that can be used … 16 … called *Multi-Part Operations*. Single-part operations implemented by a driver will have one entr… 19 …hey are typically used for hardware **accelerators**. When a transparent driver is available for a… 20 …driver is invoked for the specific [key location](https://github.com/Mbed-TLS/mbedtls/blob/develop… 22 …driver dispatch layer** (also called a driver wrapper layer). For each cryptographic operation tha… 24 …ong-term goal is for the driver dispatch layer to be auto-generated using a JSON driver descriptio… 25 …rt auto-generation of the driver wrapper, developers will have to manually edit the driver dispatc… [all …]
|
D | driver-only-builds.md | 12 This document assumes that you already have a working driver. 13 Otherwise, please see the [PSA driver example and 14 guide](psa-driver-example-and-guide.md) for information on writing a 15 driver. 17 In order to have some mechanism provided only by a driver, you'll want 23 and want them to have access to the algorithms provided by your driver. (See 31 In addition, for each mechanism you want provided only by your driver: 42 For example, if you want SHA-256 to be provided only by a driver, you'll want 48 driver-only mechanisms. Note that this is already a requirement for any use of 82 It is possible to have all hash operations provided only by a driver. [all …]
|
/openthread-latest/third_party/mbedtls/repo/tests/suites/ |
D | test_suite_psa_crypto_driver_wrappers.data | 1 sign_hash transparent driver: in driver ECDSA SECP256R1 SHA-256 5 sign_hash transparent driver: fallback ECDSA SECP256R1 SHA-256 9 sign_hash transparent driver: error ECDSA SECP256R1 SHA-256 13 sign_hash transparent driver: fake ECDSA SECP256R1 SHA-256 17 sign_hash transparent driver: in driver RSA PKCS#1 v1.5, raw 21 sign_hash transparent driver: fallback RSA PKCS#1 v1.5, raw 25 sign_hash transparent driver: error RSA PKCS#1 v1.5, raw 29 sign_hash transparent driver: fake RSA PKCS#1 v1.5, raw 33 sign_hash transparent driver: in driver RSA PKCS#1 v1.5 SHA-256 37 sign_hash transparent driver: fallback RSA PKCS#1 v1.5 SHA-256 [all …]
|
D | test_suite_md.psa.data | 3 # analyze_outcomes.py (driver vs reference comparison). 9 PSA dispatch MD5 driver only 13 PSA dispatch MD5 legacy+driver 21 PSA dispatch RIPEMD160 driver only 25 PSA dispatch RIPEMD160 legacy+driver 33 PSA dispatch SHA1 driver only 37 PSA dispatch SHA1 legacy+driver 45 PSA dispatch SHA224 driver only 49 PSA dispatch SHA224 legacy+driver 57 PSA dispatch SHA256 driver only [all …]
|
D | test_suite_psa_crypto_se_driver_hal_mocks.function | 7 /** The location and lifetime used for tests that use a single driver. */ 94 /* Purge driver persistent data. */ 292 psa_drv_se_t driver = { 300 TEST_EQUAL(psa_register_se_driver(location, &driver), 325 psa_drv_se_t driver; 337 memset(&driver, 0, sizeof(driver)); 339 driver.hal_version = PSA_DRV_SE_HAL_VERSION; 340 driver.key_management = &key_management; 345 PSA_ASSERT(psa_register_se_driver(location, &driver)); 390 psa_drv_se_t driver; [all …]
|
D | test_suite_psa_crypto_se_driver_hal.function | 18 /* Test driver helpers */ 21 /** The minimum valid location value for a secure element driver. */ 24 /** The location and lifetime used for tests that use a single driver. */ 34 /** The driver detected a condition that shouldn't happen. 38 /** Like #TEST_ASSERT for use in a driver method, with no cleanup. 53 /** Like #TEST_ASSERT for use in a driver method, with cleanup. 70 /** Like #PSA_ASSERT for a PSA API call that calls a driver underneath. 78 * case, the test driver code is expected to have called mbedtls_test_fail() 119 /* Miscellaneous driver methods */ 231 /* RAM-based test driver */ [all …]
|
D | test_suite_block_cipher.psa.data | 5 AES - driver only 9 AES - legacy + driver 17 ARIA - driver only 21 ARIA - legacy + driver 29 Camellia - driver only 33 Camellia - legacy + driver
|
D | test_suite_psa_crypto_se_driver_hal.data | 1 Register SE driver: good 5 # unregistered the first driver. 6 Register SE driver: good, again 9 Register SE driver: invalid location (0) 12 Register SE driver: invalid location (local) 15 Register SE driver: invalid version (ancient) 18 Register SE driver: invalid version (future) 21 Register SE driver: already registered 24 Register SE driver: maximum number of drivers 157 Key registration: invalid lifetime (no registered driver) [all …]
|
D | test_suite_psa_crypto_low_hash.function | 3 * Test suite for the PSA hash built-in driver 5 * This test suite exercises some aspects of the built-in PSA driver for 9 * the driver dispatch layer behaves correctly even when not invoked via 10 * the API layer, but directly from another driver. 55 * output buffer to the driver. */ 144 * output buffer to the driver. */
|
/openthread-latest/third_party/mbedtls/repo/docs/proposed/ |
D | psa-driver-developer-guide.md | 1 PSA Cryptoprocessor driver developer's guide 5 …tate of drivers Mbed TLS, see our [PSA Cryptoprocessor driver development examples](../psa-driver-… 9 …vers, refer to the [PSA Cryptoprocessor Driver Interface specification](psa-driver-interface.html). 11 …change: until further notice, we do not guarantee backward compatibility with existing driver code. 17 The PSA cryptography driver interface provides a way to build Mbed TLS with additional code that im… 21 …hey are typically used for hardware **accelerators**. When a transparent driver is available for a… 22 … smartcard, a secure enclave, etc. An opaque driver is invoked for the specific key location that … 24 ### Deliverables for a driver 26 …driver, you need to implement some functions with C linkage, and to declare these functions in a *… 28 …driver description file is JSON. The structure of this JSON file is specified in the section [“Dri… [all …]
|
D | psa-driver-integration-guide.md | 5 …tate of drivers Mbed TLS, see our [PSA Cryptoprocessor driver development examples](../psa-driver-… 7 …d TLS with additional cryptoprocessor drivers that follow the PSA cryptoprocessor driver interface. 9 …change: until further notice, we do not guarantee backward compatibility with existing driver code. 13 The PSA cryptography driver interface provides a way to build Mbed TLS with additional code that im… 17 …y speaking, a driver consists of one or more **driver description files** in JSON format and some … 23 1. Pass the driver description files through the Make variable `PSA_DRIVERS` when building the libr… 27 make PSA_DRIVERS="/path/to/acme/driver.json /path/to/nadir/driver.json" lib 30 2. Link your application with the implementation of the driver functions. 37 <!-- TODO: what if the driver is provided as C source code? -->
|
D | psa-driver-interface.md | 8 …tate of drivers Mbed TLS, see our [PSA Cryptoprocessor driver development examples](../psa-driver-… 12 ### Purpose of the driver interface 16 …driver interface allows implementations of the PSA Cryptography API to be built compositionally. A… 22 The PSA Cryptography driver interface supports two types of cryptoprocessors, and accordingly two t… 24 …hey are typically used for hardware **accelerators**. When a transparent driver is available for a… 25 …secure enclave, etc. An opaque driver is invoked for the specific [key location](#lifetimes-and-lo… 33 [Req.compile] It is possible to compile the code of each driver and of the core separately, and lin… 37 …ctions with platform-specific hardware happen only inside the driver (and in fact a driver need no… 43 [Req.mechanisms] Drivers can specify which mechanisms they support. A driver's code will not be inv… 47 ### Deliverables for a driver [all …]
|
D | psa-driver-wrappers-codegen-migration-guide.md | 5 …r multiple minor revs of version 1.0, after which this will be merged into psa-driver-interface.md. 7 …tate of drivers Mbed TLS, see our [PSA Cryptoprocessor driver development examples](../psa-driver-… 32 …driver JSONS to be used for generating the psa_crypto_driver_wrappers.h file can be found at **scr… 33 (4) While the complete driver wrapper templating support is yet to come in, if the library user see… 35 #### How to set your driver up 37 Please refer to psa-driver-interface.md for information on how a driver schema can be written.
|
D | Makefile | 7 psa-driver-developer-guide.md \ 8 psa-driver-integration-guide.md \ 9 psa-driver-interface.md \
|
/openthread-latest/third_party/mbedtls/repo/docs/architecture/testing/ |
D | driver-interface-test-strategy.md | 1 # Mbed TLS driver interface test strategy 3 This document describes the test strategy for the driver interfaces in Mbed TLS. Mbed TLS has inter… 5 The driver interfaces are standardized through PSA Cryptography functional specifications. 7 ## Secure element driver interface testing 9 ### Secure element driver interfaces 11 #### Opaque driver interface 13 The [unified driver interface](../../proposed/psa-driver-interface.md) supports both transparent dr… 17 #### Dynamic secure element driver interface 19 The dynamic secure element driver interface (SE interface for short) is defined by [`psa/crypto_se_… 21 …driver usable by Mbed TLS, the initialization code must call `psa_register_se_driver` with a struc… [all …]
|
/openthread-latest/third_party/mbedtls/repo/scripts/data_files/driver_templates/ |
D | psa_crypto_driver_wrappers_no_static.c.jinja | 27 /* BEGIN-driver headers */ 28 {% for driver in drivers -%} 29 /* Headers for {{driver.prefix}} {{driver.type}} driver */ 30 {% if driver['mbedtls/h_condition'] is defined -%} 31 #if {{ driver['mbedtls/h_condition'] }} 33 {% for header in driver.headers -%} 36 {% if driver['mbedtls/h_condition'] is defined -%} 40 /* END-driver headers */ 44 * ID 1 is reserved for the Mbed TLS software driver. */ 45 /* BEGIN-driver id definition */ [all …]
|
D | OS-template-opaque.jinja | 3 * drivers: the list of driver descriptions. 5 * entry_point_param(driver): the parameters to pass to the entry point. 8 {% for driver in drivers if driver.type == "opaque" -%} 9 {% for capability in driver.capabilities if entry_point in capability.entry_points -%} 12 case {{ driver.location }}: 13 …return( {{ entry_point_name(capability, entry_point, driver) }}({{entry_point_param(driver) | inde…
|
D | OS-template-transparent.jinja | 3 * drivers: the list of driver descriptions. 5 * entry_point_param(driver): the parameters to pass to the entry point. 8 {% for driver in drivers if driver.type == "transparent" -%} 9 {% for capability in driver.capabilities if entry_point in capability.entry_points -%} 12 status = {{ entry_point_name(capability, entry_point, driver) }}({{entry_point_param(driver) | inde…
|
D | psa_crypto_driver_wrappers.h.jinja | 28 /* BEGIN-driver headers */ 29 {% for driver in drivers -%} 30 /* Headers for {{driver.prefix}} {{driver.type}} driver */ 31 {% if driver['mbedtls/h_condition'] is defined -%} 32 #if {{ driver['mbedtls/h_condition'] }} 34 {% for header in driver.headers -%} 37 {% if driver['mbedtls/h_condition'] is defined -%} 41 /* END-driver headers */ 45 * ID 1 is reserved for the Mbed TLS software driver. */ 46 /* BEGIN-driver id definition */ [all …]
|
/openthread-latest/third_party/mbedtls/repo/docs/architecture/ |
D | psa-crypto-implementation-structure.md | 1 PSA Cryptography API implementation and PSA driver interface 6 …ation. The PSA Cryptography API specification is complemented by the PSA driver interface specific… 8 … Mbed TLS PSA Cryptography API implementation which is tightly related to the PSA driver interface. 11 …driver interface. The key point is that software cryptographic operations are organized as PSA dri… 17 …raphic functionalities can be described by a JSON driver description file as defined in the PSA dr… 18 * Along with JSON driver description files, the PSA driver specification defines the deliverables f… 26 …ents and translating them into valid arguments for the necessary calls to the PSA driver interface. 35 /* Pre driver interface call processing: validation of arguments, building 36 * of arguments for the call to the driver interface, ... */ 40 /* Call to the driver interface */ [all …]
|
D | psa-storage-resilience.md | 50 **Assumption: driver calls for key management in stateful secure elements are atomic and committing… 71 …gement in a secure element with storage” in the driver interface specification](../../proposed/psa… 73 1. The core calls the driver's `"allocate_key"` entry point. 74 2. The driver allocates a unique identifier _D_ for the key. This is unrelated to the key identifie… 75 …torage to indicate that key identifier _A_ has the identifier _D_ in the driver, and that _A_ is i… 76 4. The core calls the driver's key creation entry point, passing it the driver's chosen identifier … 77 5. The driver creates the key in the secure element. When this happens, it concludes the voting pha… 89 2. The core calls the driver's `"destroy_key"` entry point. 101 Note that the analysis in this section assumes that the driver does not update its persistent state… 117 …and has its desired final content (containing the key attributes and the driver's key identifier).… [all …]
|
D | alternative-implementations.md | 24 If your platform has a cryptographic accelerator, you can use it via a [PSA driver](#psa-cryptograp… 28 …driver for this engine in the PSA interface. Drivers are supported for cryptographic operations wi…
|
D | mbed-crypto-storage-specification.md | 253 …ITS_UID_BASE + lifetime`): secure element driver storage. The content of the file is the secure el… 274 * For an opaque key (unified driver interface): driver-specific opaque key blob. 291 …_key_slot_number_t` value. This is the unique designation of the key for the secure element driver. 299 * The driver persistent data. 303 * The driver persistent data. 334 * For an opaque key (unified driver interface): driver-specific opaque key blob. 359 …* Opaque, using the PSA driver interface with statically registered drivers. The driver determines… 360 …ace with dynamically registered drivers (`MBEDTLS_PSA_CRYPTO_SE_C`). The driver picks a slot numbe… 425 * For an opaque key (unified driver interface): driver-specific opaque key blob. 433 …BASE + lifetime`): dynamic secure element driver storage. The content of the file is the secure el… [all …]
|