Merge pull request #7059 from ronald-cron-arm/psa-crypto-misc
PSA cryptography miscellaneous
This commit is contained in:
commit
219f978097
33 changed files with 363 additions and 217 deletions
|
@ -354,7 +354,7 @@ Supported features:
|
||||||
|
|
||||||
* [Persistent keys](#key-file-format-for-mbed-tls-2.25.0) designated by a [key identifier and owner](#key-names-for-mbed-tls-2.25.0). Keys can be:
|
* [Persistent keys](#key-file-format-for-mbed-tls-2.25.0) designated by a [key identifier and owner](#key-names-for-mbed-tls-2.25.0). Keys can be:
|
||||||
* Transparent, stored in the export format.
|
* Transparent, stored in the export format.
|
||||||
* Opaque, using the unified driver interface with statically registered drivers (`MBEDTLS_PSA_CRYPTO_DRIVERS`). The driver determines the content of the opaque key blob.
|
* Opaque, using the PSA driver interface with statically registered drivers. The driver determines the content of the opaque key blob.
|
||||||
* Opaque, using the deprecated secure element interface with dynamically registered drivers (`MBEDTLS_PSA_CRYPTO_SE_C`). The driver picks a slot number which is stored in the place of the key material.
|
* Opaque, using the deprecated secure element interface with dynamically registered drivers (`MBEDTLS_PSA_CRYPTO_SE_C`). The driver picks a slot number which is stored in the place of the key material.
|
||||||
* [Nonvolatile random seed](#nonvolatile-random-seed-file-format-for-mbed-tls-2.25.0) on ITS only.
|
* [Nonvolatile random seed](#nonvolatile-random-seed-file-format-for-mbed-tls-2.25.0) on ITS only.
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ This document describes how to write drivers of cryptoprocessors such as acceler
|
||||||
|
|
||||||
This document focuses on behavior that is specific to Mbed TLS. For a reference of the interface between Mbed TLS and drivers, refer to the [PSA Cryptoprocessor Driver Interface specification](psa-driver-interface.html).
|
This document focuses on behavior that is specific to Mbed TLS. For a reference of the interface between Mbed TLS and drivers, refer to the [PSA Cryptoprocessor Driver Interface specification](psa-driver-interface.html).
|
||||||
|
|
||||||
The interface is not fully implemented in Mbed TLS yet and is disabled by default. You can enable the experimental work in progress by setting `MBEDTLS_PSA_CRYPTO_DRIVERS` in the compile-time configuration. Please note that the interface may still change: until further notice, we do not guarantee backward compatibility with existing driver code when `MBEDTLS_PSA_CRYPTO_DRIVERS` is enabled.
|
The interface is not fully implemented in Mbed TLS yet. Please note that the interface may still change: until further notice, we do not guarantee backward compatibility with existing driver code.
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ Building Mbed TLS with PSA cryptoprocessor drivers
|
||||||
|
|
||||||
This document describes how to build Mbed TLS with additional cryptoprocessor drivers that follow the PSA cryptoprocessor driver interface.
|
This document describes how to build Mbed TLS with additional cryptoprocessor drivers that follow the PSA cryptoprocessor driver interface.
|
||||||
|
|
||||||
The interface is not fully implemented in Mbed TLS yet and is disabled by default. You can enable the experimental work in progress by setting `MBEDTLS_PSA_CRYPTO_DRIVERS` in the compile-time configuration. Please note that the interface may still change: until further notice, we do not guarantee backward compatibility with existing driver code when `MBEDTLS_PSA_CRYPTO_DRIVERS` is enabled.
|
The interface is not fully implemented in Mbed TLS yet. Please note that the interface may still change: until further notice, we do not guarantee backward compatibility with existing driver code.
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
@ -19,21 +19,14 @@ Concretely speaking, a driver consists of one or more **driver description files
|
||||||
|
|
||||||
To build Mbed TLS with drivers:
|
To build Mbed TLS with drivers:
|
||||||
|
|
||||||
1. Activate `MBEDTLS_PSA_CRYPTO_DRIVERS` in the library configuration.
|
1. Pass the driver description files through the Make variable `PSA_DRIVERS` when building the library.
|
||||||
|
|
||||||
```
|
|
||||||
cd /path/to/mbedtls
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Pass the driver description files through the Make variable `PSA_DRIVERS` when building the library.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
cd /path/to/mbedtls
|
cd /path/to/mbedtls
|
||||||
make PSA_DRIVERS="/path/to/acme/driver.json /path/to/nadir/driver.json" lib
|
make PSA_DRIVERS="/path/to/acme/driver.json /path/to/nadir/driver.json" lib
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Link your application with the implementation of the driver functions.
|
2. Link your application with the implementation of the driver functions.
|
||||||
|
|
||||||
```
|
```
|
||||||
cd /path/to/application
|
cd /path/to/application
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/**
|
/**
|
||||||
* \file build_info.h
|
* \file mbedtls/build_info.h
|
||||||
*
|
*
|
||||||
* \brief Build-time configuration info
|
* \brief Build-time configuration info
|
||||||
*
|
*
|
||||||
|
|
|
@ -1230,18 +1230,6 @@
|
||||||
*/
|
*/
|
||||||
//#define MBEDTLS_PSA_CRYPTO_CLIENT
|
//#define MBEDTLS_PSA_CRYPTO_CLIENT
|
||||||
|
|
||||||
/** \def MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
*
|
|
||||||
* Enable support for the experimental PSA crypto driver interface.
|
|
||||||
*
|
|
||||||
* Requires: MBEDTLS_PSA_CRYPTO_C
|
|
||||||
*
|
|
||||||
* \warning This interface is experimental. We intend to maintain backward
|
|
||||||
* compatibility with application code that relies on drivers,
|
|
||||||
* but the driver interfaces may change without notice.
|
|
||||||
*/
|
|
||||||
//#define MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
|
|
||||||
/** \def MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
|
/** \def MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
|
||||||
*
|
*
|
||||||
* Make the PSA Crypto module use an external random generator provided
|
* Make the PSA Crypto module use an external random generator provided
|
||||||
|
@ -2982,8 +2970,8 @@
|
||||||
* Enable dynamic secure element support in the Platform Security Architecture
|
* Enable dynamic secure element support in the Platform Security Architecture
|
||||||
* cryptography API.
|
* cryptography API.
|
||||||
*
|
*
|
||||||
* \deprecated This feature is deprecated. Please switch to the driver
|
* \deprecated This feature is deprecated. Please switch to the PSA driver
|
||||||
* interface enabled by #MBEDTLS_PSA_CRYPTO_DRIVERS.
|
* interface.
|
||||||
*
|
*
|
||||||
* Module: library/psa_crypto_se.c
|
* Module: library/psa_crypto_se.c
|
||||||
*
|
*
|
||||||
|
|
32
include/psa/build_info.h
Normal file
32
include/psa/build_info.h
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/**
|
||||||
|
* \file psa/build_info.h
|
||||||
|
*
|
||||||
|
* \brief Build-time PSA configuration info
|
||||||
|
*
|
||||||
|
* Include this file if you need to depend on the
|
||||||
|
* configuration options defined in mbedtls_config.h or MBEDTLS_CONFIG_FILE
|
||||||
|
* in PSA cryptography core specific files.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PSA_CRYPTO_BUILD_INFO_H
|
||||||
|
#define PSA_CRYPTO_BUILD_INFO_H
|
||||||
|
|
||||||
|
#include "mbedtls/build_info.h"
|
||||||
|
|
||||||
|
#endif /* PSA_CRYPTO_BUILD_INFO_H */
|
|
@ -7,10 +7,10 @@
|
||||||
* \note This file may not be included directly. Applications must
|
* \note This file may not be included directly. Applications must
|
||||||
* include psa/crypto.h.
|
* include psa/crypto.h.
|
||||||
*
|
*
|
||||||
* \note This header and its content is not part of the Mbed TLS API and
|
* \note This header and its content are not part of the Mbed TLS API and
|
||||||
* applications must not depend on it. Its main purpose is to define the
|
* applications must not depend on it. Its main purpose is to define the
|
||||||
* multi-part state objects of the Mbed TLS software-based PSA drivers. The
|
* multi-part state objects of the Mbed TLS software-based PSA drivers. The
|
||||||
* definition of these objects are then used by crypto_struct.h to define the
|
* definitions of these objects are then used by crypto_struct.h to define the
|
||||||
* implementation-defined types of PSA multi-part state objects.
|
* implementation-defined types of PSA multi-part state objects.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
|
@ -36,6 +36,11 @@
|
||||||
|
|
||||||
#include <psa/crypto_driver_common.h>
|
#include <psa/crypto_driver_common.h>
|
||||||
|
|
||||||
|
#include "mbedtls/cmac.h"
|
||||||
|
#include "mbedtls/gcm.h"
|
||||||
|
#include "mbedtls/ccm.h"
|
||||||
|
#include "mbedtls/chachapoly.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MAC multi-part operation definitions.
|
* MAC multi-part operation definitions.
|
||||||
*/
|
*/
|
||||||
|
@ -57,8 +62,6 @@ typedef struct {
|
||||||
#define MBEDTLS_PSA_HMAC_OPERATION_INIT { 0, PSA_HASH_OPERATION_INIT, { 0 } }
|
#define MBEDTLS_PSA_HMAC_OPERATION_INIT { 0, PSA_HASH_OPERATION_INIT, { 0 } }
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HMAC */
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HMAC */
|
||||||
|
|
||||||
#include "mbedtls/cmac.h"
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
psa_algorithm_t MBEDTLS_PRIVATE(alg);
|
psa_algorithm_t MBEDTLS_PRIVATE(alg);
|
||||||
union {
|
union {
|
||||||
|
|
109
include/psa/crypto_builtin_key_derivation.h
Normal file
109
include/psa/crypto_builtin_key_derivation.h
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
/*
|
||||||
|
* Context structure declaration of the Mbed TLS software-based PSA drivers
|
||||||
|
* called through the PSA Crypto driver dispatch layer.
|
||||||
|
* This file contains the context structures of key derivation algorithms
|
||||||
|
* which need to rely on other algorithms.
|
||||||
|
*
|
||||||
|
* \note This file may not be included directly. Applications must
|
||||||
|
* include psa/crypto.h.
|
||||||
|
*
|
||||||
|
* \note This header and its content are not part of the Mbed TLS API and
|
||||||
|
* applications must not depend on it. Its main purpose is to define the
|
||||||
|
* multi-part state objects of the Mbed TLS software-based PSA drivers. The
|
||||||
|
* definitions of these objects are then used by crypto_struct.h to define the
|
||||||
|
* implementation-defined types of PSA multi-part state objects.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
|
||||||
|
#define PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H
|
||||||
|
#include "mbedtls/private_access.h"
|
||||||
|
|
||||||
|
#include <psa/crypto_driver_common.h>
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
||||||
|
typedef struct {
|
||||||
|
uint8_t *MBEDTLS_PRIVATE(info);
|
||||||
|
size_t MBEDTLS_PRIVATE(info_length);
|
||||||
|
#if PSA_HASH_MAX_SIZE > 0xff
|
||||||
|
#error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
|
||||||
|
#endif
|
||||||
|
uint8_t MBEDTLS_PRIVATE(offset_in_block);
|
||||||
|
uint8_t MBEDTLS_PRIVATE(block_number);
|
||||||
|
unsigned int MBEDTLS_PRIVATE(state) : 2;
|
||||||
|
unsigned int MBEDTLS_PRIVATE(info_set) : 1;
|
||||||
|
uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
|
||||||
|
uint8_t MBEDTLS_PRIVATE(prk)[PSA_HASH_MAX_SIZE];
|
||||||
|
struct psa_mac_operation_s MBEDTLS_PRIVATE(hmac);
|
||||||
|
} psa_hkdf_key_derivation_t;
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
||||||
|
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
||||||
|
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
|
||||||
|
typedef struct {
|
||||||
|
uint8_t MBEDTLS_PRIVATE(data)[PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE];
|
||||||
|
} psa_tls12_ecjpake_to_pms_t;
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
|
typedef enum {
|
||||||
|
PSA_TLS12_PRF_STATE_INIT, /* no input provided */
|
||||||
|
PSA_TLS12_PRF_STATE_SEED_SET, /* seed has been set */
|
||||||
|
PSA_TLS12_PRF_STATE_OTHER_KEY_SET, /* other key has been set - optional */
|
||||||
|
PSA_TLS12_PRF_STATE_KEY_SET, /* key has been set */
|
||||||
|
PSA_TLS12_PRF_STATE_LABEL_SET, /* label has been set */
|
||||||
|
PSA_TLS12_PRF_STATE_OUTPUT /* output has been started */
|
||||||
|
} psa_tls12_prf_key_derivation_state_t;
|
||||||
|
|
||||||
|
typedef struct psa_tls12_prf_key_derivation_s {
|
||||||
|
#if PSA_HASH_MAX_SIZE > 0xff
|
||||||
|
#error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Indicates how many bytes in the current HMAC block have
|
||||||
|
* not yet been read by the user. */
|
||||||
|
uint8_t MBEDTLS_PRIVATE(left_in_block);
|
||||||
|
|
||||||
|
/* The 1-based number of the block. */
|
||||||
|
uint8_t MBEDTLS_PRIVATE(block_number);
|
||||||
|
|
||||||
|
psa_tls12_prf_key_derivation_state_t MBEDTLS_PRIVATE(state);
|
||||||
|
|
||||||
|
uint8_t *MBEDTLS_PRIVATE(secret);
|
||||||
|
size_t MBEDTLS_PRIVATE(secret_length);
|
||||||
|
uint8_t *MBEDTLS_PRIVATE(seed);
|
||||||
|
size_t MBEDTLS_PRIVATE(seed_length);
|
||||||
|
uint8_t *MBEDTLS_PRIVATE(label);
|
||||||
|
size_t MBEDTLS_PRIVATE(label_length);
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
|
uint8_t *MBEDTLS_PRIVATE(other_secret);
|
||||||
|
size_t MBEDTLS_PRIVATE(other_secret_length);
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
|
||||||
|
|
||||||
|
uint8_t MBEDTLS_PRIVATE(Ai)[PSA_HASH_MAX_SIZE];
|
||||||
|
|
||||||
|
/* `HMAC_hash( prk, A( i ) + seed )` in the notation of RFC 5246, Sect. 5. */
|
||||||
|
uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
|
||||||
|
} psa_tls12_prf_key_derivation_t;
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) ||
|
||||||
|
* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
|
||||||
|
|
||||||
|
#endif /* PSA_CRYPTO_BUILTIN_KEY_DERIVATION_H */
|
|
@ -7,10 +7,10 @@
|
||||||
* \note This file may not be included directly. Applications must
|
* \note This file may not be included directly. Applications must
|
||||||
* include psa/crypto.h.
|
* include psa/crypto.h.
|
||||||
*
|
*
|
||||||
* \note This header and its content is not part of the Mbed TLS API and
|
* \note This header and its content are not part of the Mbed TLS API and
|
||||||
* applications must not depend on it. Its main purpose is to define the
|
* applications must not depend on it. Its main purpose is to define the
|
||||||
* multi-part state objects of the Mbed TLS software-based PSA drivers. The
|
* multi-part state objects of the Mbed TLS software-based PSA drivers. The
|
||||||
* definition of these objects are then used by crypto_struct.h to define the
|
* definitions of these objects are then used by crypto_struct.h to define the
|
||||||
* implementation-defined types of PSA multi-part state objects.
|
* implementation-defined types of PSA multi-part state objects.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -9,10 +9,10 @@
|
||||||
* \note This file may not be included directly. Applications must
|
* \note This file may not be included directly. Applications must
|
||||||
* include psa/crypto.h.
|
* include psa/crypto.h.
|
||||||
*
|
*
|
||||||
* \note This header and its content is not part of the Mbed TLS API and
|
* \note This header and its content are not part of the Mbed TLS API and
|
||||||
* applications must not depend on it. Its main purpose is to define the
|
* applications must not depend on it. Its main purpose is to define the
|
||||||
* multi-part state objects of the PSA drivers included in the cryptographic
|
* multi-part state objects of the PSA drivers included in the cryptographic
|
||||||
* library. The definition of these objects are then used by crypto_struct.h
|
* library. The definitions of these objects are then used by crypto_struct.h
|
||||||
* to define the implementation-defined types of PSA multi-part state objects.
|
* to define the implementation-defined types of PSA multi-part state objects.
|
||||||
*/
|
*/
|
||||||
/* Copyright The Mbed TLS Contributors
|
/* Copyright The Mbed TLS Contributors
|
||||||
|
|
61
include/psa/crypto_driver_contexts_key_derivation.h
Normal file
61
include/psa/crypto_driver_contexts_key_derivation.h
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
/*
|
||||||
|
* Declaration of context structures for use with the PSA driver wrapper
|
||||||
|
* interface. This file contains the context structures for key derivation
|
||||||
|
* operations.
|
||||||
|
*
|
||||||
|
* Warning: This file will be auto-generated in the future.
|
||||||
|
*
|
||||||
|
* \note This file may not be included directly. Applications must
|
||||||
|
* include psa/crypto.h.
|
||||||
|
*
|
||||||
|
* \note This header and its content are not part of the Mbed TLS API and
|
||||||
|
* applications must not depend on it. Its main purpose is to define the
|
||||||
|
* multi-part state objects of the PSA drivers included in the cryptographic
|
||||||
|
* library. The definitions of these objects are then used by crypto_struct.h
|
||||||
|
* to define the implementation-defined types of PSA multi-part state objects.
|
||||||
|
*/
|
||||||
|
/* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PSA_CRYPTO_DRIVER_CONTEXTS_KEY_DERIVATION_H
|
||||||
|
#define PSA_CRYPTO_DRIVER_CONTEXTS_KEY_DERIVATION_H
|
||||||
|
|
||||||
|
#include "psa/crypto_driver_common.h"
|
||||||
|
|
||||||
|
/* Include the context structure definitions for the Mbed TLS software drivers */
|
||||||
|
#include "psa/crypto_builtin_key_derivation.h"
|
||||||
|
|
||||||
|
/* Include the context structure definitions for those drivers that were
|
||||||
|
* declared during the autogeneration process. */
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
unsigned dummy; /* Make sure this union is always non-empty */
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
||||||
|
psa_hkdf_key_derivation_t MBEDTLS_PRIVATE(hkdf);
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
|
psa_tls12_prf_key_derivation_t MBEDTLS_PRIVATE(tls12_prf);
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
|
||||||
|
psa_tls12_ecjpake_to_pms_t MBEDTLS_PRIVATE(tls12_ecjpake_to_pms);
|
||||||
|
#endif
|
||||||
|
} psa_driver_key_derivation_context_t;
|
||||||
|
|
||||||
|
#endif /* PSA_CRYPTO_DRIVER_CONTEXTS_KEY_DERIVATION_H */
|
||||||
|
/* End of automatically generated file. */
|
|
@ -8,10 +8,10 @@
|
||||||
* \note This file may not be included directly. Applications must
|
* \note This file may not be included directly. Applications must
|
||||||
* include psa/crypto.h.
|
* include psa/crypto.h.
|
||||||
*
|
*
|
||||||
* \note This header and its content is not part of the Mbed TLS API and
|
* \note This header and its content are not part of the Mbed TLS API and
|
||||||
* applications must not depend on it. Its main purpose is to define the
|
* applications must not depend on it. Its main purpose is to define the
|
||||||
* multi-part state objects of the PSA drivers included in the cryptographic
|
* multi-part state objects of the PSA drivers included in the cryptographic
|
||||||
* library. The definition of these objects are then used by crypto_struct.h
|
* library. The definitions of these objects are then used by crypto_struct.h
|
||||||
* to define the implementation-defined types of PSA multi-part state objects.
|
* to define the implementation-defined types of PSA multi-part state objects.
|
||||||
*/
|
*/
|
||||||
/* Copyright The Mbed TLS Contributors
|
/* Copyright The Mbed TLS Contributors
|
||||||
|
|
|
@ -29,8 +29,6 @@
|
||||||
#define PSA_CRYPTO_EXTRA_H
|
#define PSA_CRYPTO_EXTRA_H
|
||||||
#include "mbedtls/private_access.h"
|
#include "mbedtls/private_access.h"
|
||||||
|
|
||||||
#include "mbedtls/platform_util.h"
|
|
||||||
|
|
||||||
#include "crypto_types.h"
|
#include "crypto_types.h"
|
||||||
#include "crypto_compat.h"
|
#include "crypto_compat.h"
|
||||||
|
|
||||||
|
|
|
@ -34,13 +34,14 @@
|
||||||
#define PSA_CRYPTO_PLATFORM_H
|
#define PSA_CRYPTO_PLATFORM_H
|
||||||
#include "mbedtls/private_access.h"
|
#include "mbedtls/private_access.h"
|
||||||
|
|
||||||
/* Include the Mbed TLS configuration file, the way Mbed TLS does it
|
/*
|
||||||
* in each of its header files. */
|
* Include the build-time configuration information file. Here, we do not
|
||||||
#include "mbedtls/build_info.h"
|
* include `"mbedtls/build_info.h"` directly but `"psa/build_info.h"`, which
|
||||||
|
* is basically just an alias to it. This is to ease the maintenance of the
|
||||||
/* Translate between classic MBEDTLS_xxx feature symbols and PSA_xxx
|
* PSA cryptography repository which has a different build system and
|
||||||
* feature symbols. */
|
* configuration.
|
||||||
#include "mbedtls/config_psa.h"
|
*/
|
||||||
|
#include "psa/build_info.h"
|
||||||
|
|
||||||
/* PSA requires several types which C99 provides in stdint.h. */
|
/* PSA requires several types which C99 provides in stdint.h. */
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
|
@ -40,9 +40,14 @@
|
||||||
#ifndef PSA_CRYPTO_SIZES_H
|
#ifndef PSA_CRYPTO_SIZES_H
|
||||||
#define PSA_CRYPTO_SIZES_H
|
#define PSA_CRYPTO_SIZES_H
|
||||||
|
|
||||||
/* Include the Mbed TLS configuration file, the way Mbed TLS does it
|
/*
|
||||||
* in each of its header files. */
|
* Include the build-time configuration information file. Here, we do not
|
||||||
#include "mbedtls/build_info.h"
|
* include `"mbedtls/build_info.h"` directly but `"psa/build_info.h"`, which
|
||||||
|
* is basically just an alias to it. This is to ease the maintenance of the
|
||||||
|
* PSA cryptography repository which has a different build system and
|
||||||
|
* configuration.
|
||||||
|
*/
|
||||||
|
#include "psa/build_info.h"
|
||||||
|
|
||||||
#define PSA_BITS_TO_BYTES(bits) (((bits) + 7) / 8)
|
#define PSA_BITS_TO_BYTES(bits) (((bits) + 7) / 8)
|
||||||
#define PSA_BYTES_TO_BITS(bytes) ((bytes) * 8)
|
#define PSA_BYTES_TO_BITS(bytes) ((bytes) * 8)
|
||||||
|
|
|
@ -70,11 +70,6 @@ extern "C" {
|
||||||
* in each of its header files. */
|
* in each of its header files. */
|
||||||
#include "mbedtls/build_info.h"
|
#include "mbedtls/build_info.h"
|
||||||
|
|
||||||
#include "mbedtls/cmac.h"
|
|
||||||
#include "mbedtls/gcm.h"
|
|
||||||
#include "mbedtls/ccm.h"
|
|
||||||
#include "mbedtls/chachapoly.h"
|
|
||||||
|
|
||||||
/* Include the context definition for the compiled-in drivers for the primitive
|
/* Include the context definition for the compiled-in drivers for the primitive
|
||||||
* algorithms. */
|
* algorithms. */
|
||||||
#include "psa/crypto_driver_contexts_primitives.h"
|
#include "psa/crypto_driver_contexts_primitives.h"
|
||||||
|
@ -177,96 +172,15 @@ static inline struct psa_aead_operation_s psa_aead_operation_init(void)
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
/* Include the context definition for the compiled-in drivers for the key
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
* derivation algorithms. */
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
#include "psa/crypto_driver_contexts_key_derivation.h"
|
||||||
typedef struct {
|
|
||||||
uint8_t *MBEDTLS_PRIVATE(info);
|
|
||||||
size_t MBEDTLS_PRIVATE(info_length);
|
|
||||||
#if PSA_HASH_MAX_SIZE > 0xff
|
|
||||||
#error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
|
|
||||||
#endif
|
|
||||||
uint8_t MBEDTLS_PRIVATE(offset_in_block);
|
|
||||||
uint8_t MBEDTLS_PRIVATE(block_number);
|
|
||||||
unsigned int MBEDTLS_PRIVATE(state) : 2;
|
|
||||||
unsigned int MBEDTLS_PRIVATE(info_set) : 1;
|
|
||||||
uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
|
|
||||||
uint8_t MBEDTLS_PRIVATE(prk)[PSA_HASH_MAX_SIZE];
|
|
||||||
struct psa_mac_operation_s MBEDTLS_PRIVATE(hmac);
|
|
||||||
} psa_hkdf_key_derivation_t;
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
|
|
||||||
typedef struct {
|
|
||||||
uint8_t MBEDTLS_PRIVATE(data)[PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE];
|
|
||||||
} psa_tls12_ecjpake_to_pms_t;
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
|
||||||
typedef enum {
|
|
||||||
PSA_TLS12_PRF_STATE_INIT, /* no input provided */
|
|
||||||
PSA_TLS12_PRF_STATE_SEED_SET, /* seed has been set */
|
|
||||||
PSA_TLS12_PRF_STATE_OTHER_KEY_SET, /* other key has been set - optional */
|
|
||||||
PSA_TLS12_PRF_STATE_KEY_SET, /* key has been set */
|
|
||||||
PSA_TLS12_PRF_STATE_LABEL_SET, /* label has been set */
|
|
||||||
PSA_TLS12_PRF_STATE_OUTPUT /* output has been started */
|
|
||||||
} psa_tls12_prf_key_derivation_state_t;
|
|
||||||
|
|
||||||
typedef struct psa_tls12_prf_key_derivation_s {
|
|
||||||
#if PSA_HASH_MAX_SIZE > 0xff
|
|
||||||
#error "PSA_HASH_MAX_SIZE does not fit in uint8_t"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Indicates how many bytes in the current HMAC block have
|
|
||||||
* not yet been read by the user. */
|
|
||||||
uint8_t MBEDTLS_PRIVATE(left_in_block);
|
|
||||||
|
|
||||||
/* The 1-based number of the block. */
|
|
||||||
uint8_t MBEDTLS_PRIVATE(block_number);
|
|
||||||
|
|
||||||
psa_tls12_prf_key_derivation_state_t MBEDTLS_PRIVATE(state);
|
|
||||||
|
|
||||||
uint8_t *MBEDTLS_PRIVATE(secret);
|
|
||||||
size_t MBEDTLS_PRIVATE(secret_length);
|
|
||||||
uint8_t *MBEDTLS_PRIVATE(seed);
|
|
||||||
size_t MBEDTLS_PRIVATE(seed_length);
|
|
||||||
uint8_t *MBEDTLS_PRIVATE(label);
|
|
||||||
size_t MBEDTLS_PRIVATE(label_length);
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
|
||||||
uint8_t *MBEDTLS_PRIVATE(other_secret);
|
|
||||||
size_t MBEDTLS_PRIVATE(other_secret_length);
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
|
|
||||||
|
|
||||||
uint8_t MBEDTLS_PRIVATE(Ai)[PSA_HASH_MAX_SIZE];
|
|
||||||
|
|
||||||
/* `HMAC_hash( prk, A( i ) + seed )` in the notation of RFC 5246, Sect. 5. */
|
|
||||||
uint8_t MBEDTLS_PRIVATE(output_block)[PSA_HASH_MAX_SIZE];
|
|
||||||
} psa_tls12_prf_key_derivation_t;
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) ||
|
|
||||||
* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
|
|
||||||
|
|
||||||
struct psa_key_derivation_s {
|
struct psa_key_derivation_s {
|
||||||
psa_algorithm_t MBEDTLS_PRIVATE(alg);
|
psa_algorithm_t MBEDTLS_PRIVATE(alg);
|
||||||
unsigned int MBEDTLS_PRIVATE(can_output_key) : 1;
|
unsigned int MBEDTLS_PRIVATE(can_output_key) : 1;
|
||||||
size_t MBEDTLS_PRIVATE(capacity);
|
size_t MBEDTLS_PRIVATE(capacity);
|
||||||
union {
|
psa_driver_key_derivation_context_t MBEDTLS_PRIVATE(ctx);
|
||||||
/* Make the union non-empty even with no supported algorithms. */
|
|
||||||
uint8_t MBEDTLS_PRIVATE(dummy);
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
|
||||||
psa_hkdf_key_derivation_t MBEDTLS_PRIVATE(hkdf);
|
|
||||||
#endif
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
|
||||||
psa_tls12_prf_key_derivation_t MBEDTLS_PRIVATE(tls12_prf);
|
|
||||||
#endif
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
|
|
||||||
psa_tls12_ecjpake_to_pms_t MBEDTLS_PRIVATE(tls12_ecjpake_to_pms);
|
|
||||||
#endif
|
|
||||||
} MBEDTLS_PRIVATE(ctx);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This only zeroes out the first byte in the union, the rest is unspecified. */
|
/* This only zeroes out the first byte in the union, the rest is unspecified. */
|
||||||
|
|
|
@ -27,8 +27,6 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "mbedtls/build_info.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define MBEDTLS_EFFICIENT_UNALIGNED_ACCESS for architectures where unaligned memory
|
* Define MBEDTLS_EFFICIENT_UNALIGNED_ACCESS for architectures where unaligned memory
|
||||||
* accesses are known to be efficient.
|
* accesses are known to be efficient.
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "psa_crypto_core_common.h"
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_C)
|
#if defined(MBEDTLS_PSA_CRYPTO_C)
|
||||||
|
|
||||||
|
@ -4226,7 +4227,7 @@ psa_status_t psa_cipher_encrypt(mbedtls_svc_key_id_t key,
|
||||||
status = psa_driver_wrapper_cipher_encrypt(
|
status = psa_driver_wrapper_cipher_encrypt(
|
||||||
&attributes, slot->key.data, slot->key.bytes,
|
&attributes, slot->key.data, slot->key.bytes,
|
||||||
alg, local_iv, default_iv_length, input, input_length,
|
alg, local_iv, default_iv_length, input, input_length,
|
||||||
mbedtls_buffer_offset(output, default_iv_length),
|
psa_crypto_buffer_offset(output, default_iv_length),
|
||||||
output_size - default_iv_length, output_length);
|
output_size - default_iv_length, output_length);
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
|
64
library/psa_crypto_core_common.h
Normal file
64
library/psa_crypto_core_common.h
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
/**
|
||||||
|
* \file psa_crypto_core_common.h
|
||||||
|
*
|
||||||
|
* \brief Utility macros for internal use in the PSA cryptography core.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PSA_CRYPTO_CORE_COMMON_H
|
||||||
|
#define PSA_CRYPTO_CORE_COMMON_H
|
||||||
|
|
||||||
|
/** Return an offset into a buffer.
|
||||||
|
*
|
||||||
|
* This is just the addition of an offset to a pointer, except that this
|
||||||
|
* function also accepts an offset of 0 into a buffer whose pointer is null.
|
||||||
|
* (`p + n` has undefined behavior when `p` is null, even when `n == 0`.
|
||||||
|
* A null pointer is a valid buffer pointer when the size is 0, for example
|
||||||
|
* as the result of `malloc(0)` on some platforms.)
|
||||||
|
*
|
||||||
|
* \param p Pointer to a buffer of at least n bytes.
|
||||||
|
* This may be \p NULL if \p n is zero.
|
||||||
|
* \param n An offset in bytes.
|
||||||
|
* \return Pointer to offset \p n in the buffer \p p.
|
||||||
|
* Note that this is only a valid pointer if the size of the
|
||||||
|
* buffer is at least \p n + 1.
|
||||||
|
*/
|
||||||
|
static inline unsigned char *psa_crypto_buffer_offset(
|
||||||
|
unsigned char *p, size_t n)
|
||||||
|
{
|
||||||
|
return p == NULL ? NULL : p + n;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Return an offset into a read-only buffer.
|
||||||
|
*
|
||||||
|
* Similar to mbedtls_buffer_offset(), but for const pointers.
|
||||||
|
*
|
||||||
|
* \param p Pointer to a buffer of at least n bytes.
|
||||||
|
* This may be \p NULL if \p n is zero.
|
||||||
|
* \param n An offset in bytes.
|
||||||
|
* \return Pointer to offset \p n in the buffer \p p.
|
||||||
|
* Note that this is only a valid pointer if the size of the
|
||||||
|
* buffer is at least \p n + 1.
|
||||||
|
*/
|
||||||
|
static inline const unsigned char *psa_crypto_buffer_offset_const(
|
||||||
|
const unsigned char *p, size_t n)
|
||||||
|
{
|
||||||
|
return p == NULL ? NULL : p + n;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* PSA_CRYPTO_CORE_COMMON_H */
|
|
@ -438,14 +438,8 @@ psa_status_t psa_validate_key_location(psa_key_lifetime_t lifetime,
|
||||||
(void) p_drv;
|
(void) p_drv;
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_SE_C */
|
#endif /* MBEDTLS_PSA_CRYPTO_SE_C */
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS)
|
|
||||||
/* Key location for external keys gets checked by the wrapper */
|
/* Key location for external keys gets checked by the wrapper */
|
||||||
return PSA_SUCCESS;
|
return PSA_SUCCESS;
|
||||||
#else /* MBEDTLS_PSA_CRYPTO_DRIVERS */
|
|
||||||
/* No support for external lifetimes at all, or dynamic interface
|
|
||||||
* did not find driver for requested lifetime. */
|
|
||||||
return PSA_ERROR_INVALID_ARGUMENT;
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS */
|
|
||||||
} else {
|
} else {
|
||||||
/* Local/internal keys are always valid */
|
/* Local/internal keys are always valid */
|
||||||
return PSA_SUCCESS;
|
return PSA_SUCCESS;
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_C)
|
#if defined(MBEDTLS_PSA_CRYPTO_C)
|
||||||
|
|
||||||
/* BEGIN-driver headers */
|
/* BEGIN-driver headers */
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS)
|
|
||||||
{% for driver in drivers -%}
|
{% for driver in drivers -%}
|
||||||
/* Headers for {{driver.prefix}} {{driver.type}} driver */
|
/* Headers for {{driver.prefix}} {{driver.type}} driver */
|
||||||
{% if driver['mbedtls/h_condition'] is defined -%}
|
{% if driver['mbedtls/h_condition'] is defined -%}
|
||||||
|
@ -50,7 +49,6 @@
|
||||||
#endif
|
#endif
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS */
|
|
||||||
/* END-driver headers */
|
/* END-driver headers */
|
||||||
|
|
||||||
/* Auto-generated values depending on which drivers are registered.
|
/* Auto-generated values depending on which drivers are registered.
|
||||||
|
|
|
@ -2078,7 +2078,6 @@ component_test_psa_crypto_config_accel_ecdsa () {
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
|
|
||||||
# Start from default config (no USE_PSA) + driver support + TLS 1.3
|
# Start from default config (no USE_PSA) + driver support + TLS 1.3
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
|
|
||||||
|
@ -2123,8 +2122,7 @@ component_test_psa_crypto_config_accel_ecdh () {
|
||||||
# Configure and build the main libraries
|
# Configure and build the main libraries
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
|
|
||||||
# Start from default config (no USE_PSA or TLS 1.3) + driver support
|
# Start from default config (no USE_PSA or TLS 1.3)
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
|
||||||
# Disable the module that's accelerated
|
# Disable the module that's accelerated
|
||||||
|
@ -2166,7 +2164,6 @@ component_test_psa_crypto_config_accel_pake() {
|
||||||
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
|
||||||
# Make built-in fallback not available
|
# Make built-in fallback not available
|
||||||
|
@ -2203,7 +2200,6 @@ config_psa_crypto_config_all_ec_algs_use_psa () {
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
# enable support for drivers and configuring PSA-only algorithms
|
# enable support for drivers and configuring PSA-only algorithms
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
if [ "$DRIVER_ONLY" -eq 1 ]; then
|
if [ "$DRIVER_ONLY" -eq 1 ]; then
|
||||||
# Disable modules that are accelerated
|
# Disable modules that are accelerated
|
||||||
scripts/config.py unset MBEDTLS_ECDSA_C
|
scripts/config.py unset MBEDTLS_ECDSA_C
|
||||||
|
@ -2460,7 +2456,6 @@ component_test_psa_crypto_config_accel_rsa_signature () {
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
# Mbed TLS library build
|
# Mbed TLS library build
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
|
||||||
# Remove RSA support and its dependencies
|
# Remove RSA support and its dependencies
|
||||||
|
@ -2502,7 +2497,6 @@ component_test_psa_crypto_config_accel_hash () {
|
||||||
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py unset MBEDTLS_MD5_C
|
scripts/config.py unset MBEDTLS_MD5_C
|
||||||
scripts/config.py unset MBEDTLS_RIPEMD160_C
|
scripts/config.py unset MBEDTLS_RIPEMD160_C
|
||||||
|
@ -2540,7 +2534,6 @@ component_test_psa_crypto_config_accel_hash_keep_builtins () {
|
||||||
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )"
|
loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )"
|
||||||
make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS"
|
make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS"
|
||||||
|
@ -2556,7 +2549,6 @@ config_psa_crypto_hash_use_psa () {
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
# enable support for drivers and configuring PSA-only algorithms
|
# enable support for drivers and configuring PSA-only algorithms
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
if [ "$DRIVER_ONLY" -eq 1 ]; then
|
if [ "$DRIVER_ONLY" -eq 1 ]; then
|
||||||
# disable the built-in implementation of hashes
|
# disable the built-in implementation of hashes
|
||||||
scripts/config.py unset MBEDTLS_MD5_C
|
scripts/config.py unset MBEDTLS_MD5_C
|
||||||
|
@ -2646,7 +2638,6 @@ component_test_psa_crypto_config_accel_cipher () {
|
||||||
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
|
||||||
# There is no intended accelerator support for ALG STREAM_CIPHER and
|
# There is no intended accelerator support for ALG STREAM_CIPHER and
|
||||||
|
@ -2687,7 +2678,6 @@ component_test_psa_crypto_config_accel_aead () {
|
||||||
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
|
||||||
scripts/config.py unset MBEDTLS_GCM_C
|
scripts/config.py unset MBEDTLS_GCM_C
|
||||||
|
@ -2710,17 +2700,37 @@ component_test_psa_crypto_config_accel_aead () {
|
||||||
make test
|
make test
|
||||||
}
|
}
|
||||||
|
|
||||||
component_test_psa_crypto_config_no_driver() {
|
component_test_psa_crypto_config_accel_pake() {
|
||||||
# full plus MBEDTLS_PSA_CRYPTO_CONFIG
|
msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated PAKE"
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG minus MBEDTLS_PSA_CRYPTO_DRIVERS"
|
|
||||||
scripts/config.py full
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
|
||||||
scripts/config.py unset MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
|
||||||
make CC=gcc CFLAGS="$ASAN_CFLAGS -O2" LDFLAGS="$ASAN_CFLAGS"
|
|
||||||
|
|
||||||
msg "test: full + MBEDTLS_PSA_CRYPTO_CONFIG minus MBEDTLS_PSA_CRYPTO_DRIVERS"
|
# Start with full
|
||||||
|
scripts/config.py full
|
||||||
|
|
||||||
|
# Disable ALG_STREAM_CIPHER and ALG_ECB_NO_PADDING to avoid having
|
||||||
|
# partial support for cipher operations in the driver test library.
|
||||||
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
|
||||||
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
|
||||||
|
|
||||||
|
loc_accel_list="ALG_JPAKE"
|
||||||
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
|
||||||
|
# Make build-in fallback not available
|
||||||
|
scripts/config.py unset MBEDTLS_ECJPAKE_C
|
||||||
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
|
||||||
|
|
||||||
|
# Dynamic secure element support is a deprecated feature and needs to be disabled here.
|
||||||
|
# This is done to have the same form of psa_key_attributes_s for libdriver and library.
|
||||||
|
scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C
|
||||||
|
|
||||||
|
loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )"
|
||||||
|
make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS"
|
||||||
|
|
||||||
|
not grep mbedtls_ecjpake_init library/ecjpake.o
|
||||||
|
|
||||||
|
msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated PAKE"
|
||||||
make test
|
make test
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2744,7 +2754,6 @@ component_build_psa_accel_alg_ecdh() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_ECDH without MBEDTLS_ECDH_C"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_ECDH without MBEDTLS_ECDH_C"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py unset MBEDTLS_ECDH_C
|
scripts/config.py unset MBEDTLS_ECDH_C
|
||||||
|
@ -2763,7 +2772,6 @@ component_build_psa_accel_key_type_ecc_key_pair() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_ECC_KEY_PAIR"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_ECC_KEY_PAIR"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1
|
||||||
|
@ -2778,7 +2786,6 @@ component_build_psa_accel_key_type_ecc_public_key() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
|
||||||
|
@ -2793,7 +2800,6 @@ component_build_psa_accel_alg_hmac() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_HMAC"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_HMAC"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
# Need to define the correct symbol and include the test driver header path in order to build with the test driver
|
# Need to define the correct symbol and include the test driver header path in order to build with the test driver
|
||||||
|
@ -2807,7 +2813,6 @@ component_build_psa_accel_alg_hkdf() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_HKDF without MBEDTLS_HKDF_C"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_HKDF without MBEDTLS_HKDF_C"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py unset MBEDTLS_HKDF_C
|
scripts/config.py unset MBEDTLS_HKDF_C
|
||||||
|
@ -2823,7 +2828,6 @@ component_build_psa_accel_alg_md5() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_MD5 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_MD5 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
|
||||||
|
@ -2845,7 +2849,6 @@ component_build_psa_accel_alg_ripemd160() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RIPEMD160 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RIPEMD160 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
||||||
|
@ -2867,7 +2870,6 @@ component_build_psa_accel_alg_sha1() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_1 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_1 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
||||||
|
@ -2889,7 +2891,6 @@ component_build_psa_accel_alg_sha224() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_224 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_224 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
||||||
|
@ -2908,7 +2909,6 @@ component_build_psa_accel_alg_sha256() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_256 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_256 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
||||||
|
@ -2927,7 +2927,6 @@ component_build_psa_accel_alg_sha384() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_384 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_384 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
||||||
|
@ -2948,7 +2947,6 @@ component_build_psa_accel_alg_sha512() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_512 - other hashes"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_512 - other hashes"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
|
||||||
|
@ -2970,7 +2968,6 @@ component_build_psa_accel_alg_rsa_pkcs1v15_crypt() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_PKCS1V15_CRYPT + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_PKCS1V15_CRYPT + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PKCS1V15_CRYPT 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PKCS1V15_CRYPT 1
|
||||||
|
@ -2987,7 +2984,6 @@ component_build_psa_accel_alg_rsa_pkcs1v15_sign() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_PKCS1V15_SIGN + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_PKCS1V15_SIGN + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PKCS1V15_SIGN 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PKCS1V15_SIGN 1
|
||||||
|
@ -3004,7 +3000,6 @@ component_build_psa_accel_alg_rsa_oaep() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_OAEP + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_OAEP + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_OAEP 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_OAEP 1
|
||||||
|
@ -3021,7 +3016,6 @@ component_build_psa_accel_alg_rsa_pss() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_PSS + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RSA_PSS + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
|
||||||
|
@ -3038,7 +3032,6 @@ component_build_psa_accel_key_type_rsa_key_pair() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_RSA_KEY_PAIR + PSA_WANT_ALG_RSA_PSS"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_RSA_KEY_PAIR + PSA_WANT_ALG_RSA_PSS"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
|
||||||
|
@ -3053,7 +3046,6 @@ component_build_psa_accel_key_type_rsa_public_key() {
|
||||||
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY + PSA_WANT_ALG_RSA_PSS"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY + PSA_WANT_ALG_RSA_PSS"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
|
||||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||||
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
|
scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
|
||||||
|
@ -3381,9 +3373,8 @@ component_test_se_default () {
|
||||||
}
|
}
|
||||||
|
|
||||||
component_test_psa_crypto_drivers () {
|
component_test_psa_crypto_drivers () {
|
||||||
msg "build: MBEDTLS_PSA_CRYPTO_DRIVERS w/ driver hooks"
|
msg "build: full + MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS + test drivers"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
|
||||||
loc_cflags="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST_ALL"
|
loc_cflags="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST_ALL"
|
||||||
loc_cflags="${loc_cflags} '-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/user-config-for-test.h\"'"
|
loc_cflags="${loc_cflags} '-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/user-config-for-test.h\"'"
|
||||||
|
@ -3391,7 +3382,7 @@ component_test_psa_crypto_drivers () {
|
||||||
|
|
||||||
make CC=gcc CFLAGS="${loc_cflags}" LDFLAGS="$ASAN_CFLAGS"
|
make CC=gcc CFLAGS="${loc_cflags}" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
msg "test: full + MBEDTLS_PSA_CRYPTO_DRIVERS"
|
msg "test: full + MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS + test drivers"
|
||||||
make test
|
make test
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa_crypto_hash.h"
|
#include "psa_crypto_hash.h"
|
||||||
|
|
||||||
#include "test/drivers/hash.h"
|
#include "test/drivers/hash.h"
|
||||||
|
@ -208,4 +208,4 @@ psa_status_t mbedtls_test_transparent_hash_abort(
|
||||||
|
|
||||||
return mbedtls_test_driver_hash_hooks.driver_status;
|
return mbedtls_test_driver_hash_hooks.driver_status;
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa_crypto_aead.h"
|
#include "psa_crypto_aead.h"
|
||||||
#include "psa_crypto_core.h"
|
#include "psa_crypto_core.h"
|
||||||
|
|
||||||
|
@ -469,4 +469,4 @@ psa_status_t mbedtls_test_transparent_aead_abort(
|
||||||
return mbedtls_test_driver_aead_hooks.driver_status;
|
return mbedtls_test_driver_aead_hooks.driver_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa/crypto.h"
|
#include "psa/crypto.h"
|
||||||
#include "mbedtls/rsa.h"
|
#include "mbedtls/rsa.h"
|
||||||
#include "psa_crypto_rsa.h"
|
#include "psa_crypto_rsa.h"
|
||||||
|
@ -160,4 +160,4 @@ psa_status_t mbedtls_test_opaque_asymmetric_decrypt(
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
return PSA_ERROR_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa/crypto.h"
|
#include "psa/crypto.h"
|
||||||
#include "psa_crypto_cipher.h"
|
#include "psa_crypto_cipher.h"
|
||||||
#include "psa_crypto_core.h"
|
#include "psa_crypto_core.h"
|
||||||
|
@ -433,4 +433,4 @@ psa_status_t mbedtls_test_opaque_cipher_finish(
|
||||||
(void) output_length;
|
(void) output_length;
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
return PSA_ERROR_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
|
|
||||||
#include "psa/crypto.h"
|
#include "psa/crypto.h"
|
||||||
#include "psa_crypto_core.h"
|
#include "psa_crypto_core.h"
|
||||||
|
@ -123,4 +123,4 @@ psa_status_t mbedtls_test_opaque_key_agreement(
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
return PSA_ERROR_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa/crypto.h"
|
#include "psa/crypto.h"
|
||||||
#include "psa_crypto_core.h"
|
#include "psa_crypto_core.h"
|
||||||
#include "psa_crypto_ecp.h"
|
#include "psa_crypto_ecp.h"
|
||||||
|
@ -748,4 +748,4 @@ psa_status_t mbedtls_test_opaque_copy_key(
|
||||||
return PSA_SUCCESS;
|
return PSA_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa_crypto_mac.h"
|
#include "psa_crypto_mac.h"
|
||||||
|
|
||||||
#include "test/drivers/mac.h"
|
#include "test/drivers/mac.h"
|
||||||
|
@ -431,4 +431,4 @@ psa_status_t mbedtls_test_opaque_mac_abort(
|
||||||
return mbedtls_test_driver_mac_hooks.driver_status;
|
return mbedtls_test_driver_mac_hooks.driver_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa_crypto_pake.h"
|
#include "psa_crypto_pake.h"
|
||||||
|
|
||||||
#include "test/drivers/pake.h"
|
#include "test/drivers/pake.h"
|
||||||
|
@ -209,4 +209,4 @@ psa_status_t mbedtls_test_transparent_pake_abort(
|
||||||
return mbedtls_test_driver_pake_hooks.driver_status;
|
return mbedtls_test_driver_pake_hooks.driver_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include <test/helpers.h>
|
#include <test/helpers.h>
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST)
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
#include "psa/crypto.h"
|
#include "psa/crypto.h"
|
||||||
#include "psa_crypto_core.h"
|
#include "psa_crypto_core.h"
|
||||||
#include "psa_crypto_ecp.h"
|
#include "psa_crypto_ecp.h"
|
||||||
|
@ -414,4 +414,4 @@ psa_status_t mbedtls_test_opaque_signature_verify_hash(
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
return PSA_ERROR_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
|
@ -1436,10 +1436,6 @@ Copy fail: AES, invalid persistent key identifier in attributes
|
||||||
depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES:MBEDTLS_PSA_CRYPTO_STORAGE_C
|
depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES:MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||||
copy_fail:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":PSA_KEY_TYPE_AES:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_LIFETIME_PERSISTENT:PSA_ERROR_INVALID_ARGUMENT
|
copy_fail:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":PSA_KEY_TYPE_AES:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_LIFETIME_PERSISTENT:PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
Copy fail: AES, invalid lifetime (unknown location) in attributes
|
|
||||||
depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES:MBEDTLS_PSA_CRYPTO_STORAGE_C:!MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
copy_fail:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":PSA_KEY_TYPE_AES:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:1:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION(PSA_KEY_PERSISTENCE_DEFAULT, 11):PSA_ERROR_INVALID_ARGUMENT
|
|
||||||
|
|
||||||
Copy fail: AES, copy to a readonly lifetime in attributes
|
Copy fail: AES, copy to a readonly lifetime in attributes
|
||||||
depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES:MBEDTLS_PSA_CRYPTO_STORAGE_C
|
depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES:MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||||
copy_fail:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":PSA_KEY_TYPE_AES:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:1:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_READ_ONLY, 0 ):PSA_ERROR_INVALID_ARGUMENT
|
copy_fail:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":PSA_KEY_TYPE_AES:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:1:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_READ_ONLY, 0 ):PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
|
@ -484,7 +484,7 @@ exit:
|
||||||
/* END_HEADER */
|
/* END_HEADER */
|
||||||
|
|
||||||
/* BEGIN_DEPENDENCIES
|
/* BEGIN_DEPENDENCIES
|
||||||
* depends_on:MBEDTLS_PSA_CRYPTO_C:MBEDTLS_PSA_CRYPTO_DRIVERS:PSA_CRYPTO_DRIVER_TEST
|
* depends_on:MBEDTLS_PSA_CRYPTO_C:PSA_CRYPTO_DRIVER_TEST
|
||||||
* END_DEPENDENCIES
|
* END_DEPENDENCIES
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -2130,7 +2130,7 @@ exit:
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:PSA_CRYPTO_DRIVER_TEST:MBEDTLS_PSA_CRYPTO_DRIVERS:MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */
|
/* BEGIN_CASE depends_on:PSA_CRYPTO_DRIVER_TEST:MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */
|
||||||
void builtin_key_export(int builtin_key_id_arg,
|
void builtin_key_export(int builtin_key_id_arg,
|
||||||
int builtin_key_type_arg,
|
int builtin_key_type_arg,
|
||||||
int builtin_key_bits_arg,
|
int builtin_key_bits_arg,
|
||||||
|
@ -2181,7 +2181,7 @@ exit:
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:PSA_CRYPTO_DRIVER_TEST:MBEDTLS_PSA_CRYPTO_DRIVERS:MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */
|
/* BEGIN_CASE depends_on:PSA_CRYPTO_DRIVER_TEST:MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */
|
||||||
void builtin_pubkey_export(int builtin_key_id_arg,
|
void builtin_pubkey_export(int builtin_key_id_arg,
|
||||||
int builtin_key_type_arg,
|
int builtin_key_type_arg,
|
||||||
int builtin_key_bits_arg,
|
int builtin_key_bits_arg,
|
||||||
|
|
Loading…
Reference in a new issue