Home
last modified time | relevance | path

Searched refs:driver (Results 1 – 25 of 53) sorted by relevance

123

/openthread-latest/third_party/mbedtls/repo/library/
Dpsa_crypto_se.c76 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 …]
Dpsa_crypto_se.h109 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/
Dpsa-driver-example-and-guide.md1 # PSA Cryptoprocessor driver development examples
3driver and the method for integrating a driver with Mbed TLS will vary depending on the operation …
5driver system. The [PSA Driver Interface](https://github.com/Mbed-TLS/mbedtls/blob/development/doc…
6driver-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…
20driver is invoked for the specific [key location](https://github.com/Mbed-TLS/mbedtls/blob/develop…
22driver 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 …]
Ddriver-only-builds.md12 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/
Dtest_suite_psa_crypto_driver_wrappers.data1 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 …]
Dtest_suite_md.psa.data3 # 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 …]
Dtest_suite_psa_crypto_se_driver_hal_mocks.function7 /** 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 …]
Dtest_suite_psa_crypto_se_driver_hal.function18 /* 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 …]
Dtest_suite_block_cipher.psa.data5 AES - driver only
9 AES - legacy + driver
17 ARIA - driver only
21 ARIA - legacy + driver
29 Camellia - driver only
33 Camellia - legacy + driver
Dtest_suite_psa_crypto_se_driver_hal.data1 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 …]
Dtest_suite_psa_crypto_low_hash.function3 * 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/
Dpsa-driver-developer-guide.md1 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
26driver, you need to implement some functions with C linkage, and to declare these functions in a *…
28driver description file is JSON. The structure of this JSON file is specified in the section [“Dri…
[all …]
Dpsa-driver-integration-guide.md5 …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? -->
Dpsa-driver-interface.md8 …tate of drivers Mbed TLS, see our [PSA Cryptoprocessor driver development examples](../psa-driver-…
12 ### Purpose of the driver interface
16driver 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 …]
Dpsa-driver-wrappers-codegen-migration-guide.md5 …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-…
32driver 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.
DMakefile7 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/
Ddriver-interface-test-strategy.md1 # 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_…
21driver 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/
Dpsa_crypto_driver_wrappers_no_static.c.jinja27 /* 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 …]
DOS-template-opaque.jinja3 * 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…
DOS-template-transparent.jinja3 * 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…
Dpsa_crypto_driver_wrappers.h.jinja28 /* 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/
Dpsa-crypto-implementation-structure.md1 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.
11driver 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 …]
Dpsa-storage-resilience.md50 **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 …]
Dalternative-implementations.md24 If your platform has a cryptographic accelerator, you can use it via a [PSA driver](#psa-cryptograp…
28driver for this engine in the PSA interface. Drivers are supported for cryptographic operations wi…
Dmbed-crypto-storage-specification.md253 …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 …]

123