| /mbedtls/library/ |
| A D | psa_crypto_se.c | 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() 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() 183 psa_se_drv_table_entry_t *driver, in psa_find_se_slot_for_key() argument 252 &driver->u.context, in psa_destroy_se_key() 264 if (driver->location == 0) { in psa_init_all_se_drivers() 270 &driver->u.context, in psa_init_all_se_drivers() [all …]
|
| A 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);
|
| /mbedtls/docs/ |
| A D | psa-driver-example-and-guide.md | 1 # PSA Cryptoprocessor driver development examples 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… 42 - A driver description file (in JSON format). 52 **1. Choose a driver prefix and a macro name that indicates whether the driver is enabled** \ 79 **5. If a driver entry point function has been provided then ensure it has the same signature as th… 83 … correct, but the driver does not support the operation. If a transparent driver returns this then… 86 **6. Modify the driver wrapper function** \ 112 | ├── case SECURE_ELEMENT_LOCATION //opaque driver 125 **7. Build Mbed TLS with the driver** [all …]
|
| A 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. 173 fully provided by a driver, 175 fully provided by a driver, 189 driver or built-in, you should use the following macros: 238 ### Limitations regarding "mixed" builds (driver and built-in) 299 driver-only RSA even if `MBEDTLS_USE_PSA_CRYPTO` is enabled. 423 algorithm) in order to work with a driver. [all …]
|
| /mbedtls/tests/suites/ |
| A D | test_suite_psa_crypto_driver_wrappers.data | 1 sign_hash transparent driver: in driver ECDSA SECP256R1 SHA-256 17 sign_hash transparent driver: in driver RSA PKCS#1 v1.5, raw 33 sign_hash transparent driver: in driver RSA PKCS#1 v1.5 SHA-256 240 generate_ec_key through transparent driver: in-driver 290 export_key private to public through driver: in-driver 306 raw key agreement through driver: in-driver 736 PSA decrypt transparent driver: in-driver RSA PKCS#1 v1.5 752 PSA decrypt transparent driver: in-driver RSA OAEP-SHA-256 768 PSA encrypt transparent driver: in-driver RSA PKCS#1 v1.5 784 PSA encrypt transparent driver: in-driver RSA OAEP-SHA-256 [all …]
|
| A D | test_suite_md.psa.data | 9 PSA dispatch MD5 driver only 13 PSA dispatch MD5 legacy+driver 21 PSA dispatch RIPEMD160 driver only 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 61 PSA dispatch SHA256 legacy+driver 69 PSA dispatch SHA384 driver only [all …]
|
| A D | test_suite_psa_crypto_se_driver_hal_mocks.function | 325 psa_drv_se_t driver; 337 memset(&driver, 0, sizeof(driver)); 390 psa_drv_se_t driver; 402 memset(&driver, 0, sizeof(driver)); 444 psa_drv_se_t driver; 454 memset(&driver, 0, sizeof(driver)); 507 psa_drv_se_t driver; 519 memset(&driver, 0, sizeof(driver)); 556 psa_drv_se_t driver; 571 memset(&driver, 0, sizeof(driver)); [all …]
|
| A D | test_suite_psa_crypto_se_driver_hal.function | 18 /* Test driver helpers */ 798 memset(&driver, 0, sizeof(driver)); 818 memset(&driver, 0, sizeof(driver)); 843 memset(&driver, 0, sizeof(driver)); 877 memset(&driver, 0, sizeof(driver)); 1010 memset(&driver, 0, sizeof(driver)); 1100 memset(&driver, 0, sizeof(driver)); 1176 memset(&driver, 0, sizeof(driver)); 1218 memset(&driver, 0, sizeof(driver)); 1306 memset(&driver, 0, sizeof(driver)); [all …]
|
| A 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
|
| A 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 181 Import-sign-verify: sign in driver, ECDSA [all …]
|
| A 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. */
|
| /mbedtls/docs/proposed/ |
| A 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-… 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… 30 A driver therefore consists of: 32 * A driver description file (in JSON format). 33 …es defining the types required by the driver description. The names of these header files is decla… 38 Mbed TLS calls driver entry points [as specified in the PSA Cryptography Driver Interface specifica… 42 …driver description can include Mbed TLS extensions (marked by the namespace "mbedtls"). Mbed TLS e… [all …]
|
| A D | psa-driver-interface.md | 12 ### Purpose of the driver interface 47 ### Deliverables for a driver 53 A driver therefore consists of: 414 #### Key derivation driver setup 594 ### PAKE driver dispatch logic 619 #### PAKE driver inputs 673 #### PAKE driver setup 687 #### PAKE driver output 715 #### PAKE driver input 740 the driver can rely on that. [all …]
|
| A 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? -->
|
| A 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.
|
| A D | Makefile | 7 psa-driver-developer-guide.md \ 8 psa-driver-integration-guide.md \ 9 psa-driver-interface.md \
|
| /mbedtls/docs/architecture/testing/ |
| A D | driver-interface-test-strategy.md | 1 # Mbed TLS driver interface test strategy 7 ## Secure element driver interface testing 9 ### Secure element driver interfaces 11 #### Opaque driver interface 23 ### SE driver interface unit tests 29 #### SE driver registration 37 #### Dispatch to SE driver 50 #### SE driver inputs 58 #### SE driver outputs 94 ### SE driver system tests [all …]
|
| /mbedtls/scripts/data_files/driver_templates/ |
| A 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 */ 31 #if {{ driver['mbedtls/h_condition'] }} 33 {% for header in driver.headers -%} 40 /* END-driver headers */ 45 /* BEGIN-driver id definition */ 47 {% for driver in drivers -%} 48 #define {{(driver.prefix + "_" + driver.type + "_driver_id").upper()}} ({{ loop.index + 1 }}) 50 /* END-driver id */ [all …]
|
| A 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…
|
| A 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…
|
| A D | psa_crypto_driver_wrappers.h.jinja | 28 /* BEGIN-driver headers */ 29 {% for driver in drivers -%} 30 /* Headers for {{driver.prefix}} {{driver.type}} driver */ 32 #if {{ driver['mbedtls/h_condition'] }} 34 {% for header in driver.headers -%} 41 /* END-driver headers */ 46 /* BEGIN-driver id definition */ 48 {% for driver in drivers -%} 49 #define {{(driver.prefix + "_" + driver.type + "_driver_id").upper()}} ({{ loop.index + 1 }}) 51 /* END-driver id */ [all …]
|
| /mbedtls/docs/architecture/ |
| A D | psa-crypto-implementation-structure.md | 1 PSA Cryptography API implementation and PSA driver interface 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 */ 45 /* Post driver interface call processing: validation of the values returned 46 * by the driver, finalization of the values to return to the caller, 71 …driver of the Mbed TLS PSA Cryptography API implementation (Mbed TLS PSA driver in the following) … [all …]
|
| A D | psa-storage-resilience.md | 76 4. The core calls the driver's key creation entry point, passing it the driver's chosen identifier … 169 1. Call the driver's `"allocate_key"` entry point. 172 4. Call the driver's key creation entry point. 183 2. Call the driver's `"destroy_key"` entry point. 198 1. Call the driver's `"allocate_key"` entry point. 200 3. Call the driver's key creation entry point. 208 3. Call the driver's `"destroy_key"` entry point. 226 4. Call the driver's key creation entry point. 232 2. Call the driver's `"destroy_key"` entry point. 250 The actions of the secure element driver may themselves be non-atomic. So the driver must be given … [all …]
|
| A 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…
|
| A 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… 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… 463 * The driver persistent data. [all …]
|