feat: modules moved and engine moved to submodule
This commit is contained in:
parent
dfb5e645cd
commit
c33d2130cc
5136 changed files with 225275 additions and 64485 deletions
|
|
@ -38,10 +38,6 @@
|
|||
#ifndef PSA_CRYPTO_CONFIG_H
|
||||
#define PSA_CRYPTO_CONFIG_H
|
||||
|
||||
/*
|
||||
* CBC-MAC is not yet supported via the PSA API in Mbed TLS.
|
||||
*/
|
||||
//#define PSA_WANT_ALG_CBC_MAC 1
|
||||
#define PSA_WANT_ALG_CBC_NO_PADDING 1
|
||||
#define PSA_WANT_ALG_CBC_PKCS7 1
|
||||
#define PSA_WANT_ALG_CCM 1
|
||||
|
|
@ -84,22 +80,12 @@
|
|||
#define PSA_WANT_ALG_TLS12_PSK_TO_MS 1
|
||||
#define PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS 1
|
||||
|
||||
/* XTS is not yet supported via the PSA API in Mbed TLS.
|
||||
* Note: when adding support, also adjust include/mbedtls/config_psa.h */
|
||||
//#define PSA_WANT_ALG_XTS 1
|
||||
|
||||
#define PSA_WANT_ECC_BRAINPOOL_P_R1_256 1
|
||||
#define PSA_WANT_ECC_BRAINPOOL_P_R1_384 1
|
||||
#define PSA_WANT_ECC_BRAINPOOL_P_R1_512 1
|
||||
#define PSA_WANT_ECC_MONTGOMERY_255 1
|
||||
#define PSA_WANT_ECC_MONTGOMERY_448 1
|
||||
#define PSA_WANT_ECC_SECP_K1_192 1
|
||||
/*
|
||||
* SECP224K1 is buggy via the PSA API in Mbed TLS
|
||||
* (https://github.com/Mbed-TLS/mbedtls/issues/3541). Thus, do not enable it by
|
||||
* default.
|
||||
*/
|
||||
//#define PSA_WANT_ECC_SECP_K1_224 1
|
||||
#define PSA_WANT_ECC_SECP_K1_256 1
|
||||
#define PSA_WANT_ECC_SECP_R1_192 1
|
||||
#define PSA_WANT_ECC_SECP_R1_224 1
|
||||
|
|
|
|||
|
|
@ -32,6 +32,16 @@ extern "C" {
|
|||
#define MBEDTLS_PSA_KEY_SLOT_COUNT 32
|
||||
#endif
|
||||
|
||||
/* If the size of static key slots is not explicitly defined by the user, then
|
||||
* set it to the maximum between PSA_EXPORT_KEY_PAIR_OR_PUBLIC_MAX_SIZE and
|
||||
* PSA_CIPHER_MAX_KEY_LENGTH.
|
||||
* See mbedtls_config.h for the definition. */
|
||||
#if !defined(MBEDTLS_PSA_STATIC_KEY_SLOT_BUFFER_SIZE)
|
||||
#define MBEDTLS_PSA_STATIC_KEY_SLOT_BUFFER_SIZE \
|
||||
((PSA_EXPORT_KEY_PAIR_OR_PUBLIC_MAX_SIZE > PSA_CIPHER_MAX_KEY_LENGTH) ? \
|
||||
PSA_EXPORT_KEY_PAIR_OR_PUBLIC_MAX_SIZE : PSA_CIPHER_MAX_KEY_LENGTH)
|
||||
#endif /* !MBEDTLS_PSA_STATIC_KEY_SLOT_BUFFER_SIZE*/
|
||||
|
||||
/** \addtogroup attributes
|
||||
* @{
|
||||
*/
|
||||
|
|
@ -573,6 +583,35 @@ psa_status_t mbedtls_psa_platform_get_builtin_key(
|
|||
|
||||
/** @} */
|
||||
|
||||
/** \defgroup psa_crypto_client Functions defined by a client provider
|
||||
*
|
||||
* The functions in this group are meant to be implemented by providers of
|
||||
* the PSA Crypto client interface. They are provided by the library when
|
||||
* #MBEDTLS_PSA_CRYPTO_C is enabled.
|
||||
*
|
||||
* \note All functions in this group are experimental, as using
|
||||
* alternative client interface providers is experimental.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Check if PSA is capable of handling the specified hash algorithm.
|
||||
*
|
||||
* This means that PSA core was built with the corresponding PSA_WANT_ALG_xxx
|
||||
* set and that psa_crypto_init has already been called.
|
||||
*
|
||||
* \note When using Mbed TLS version of PSA core (i.e. MBEDTLS_PSA_CRYPTO_C is
|
||||
* set) for now this function only checks the state of the driver
|
||||
* subsystem, not the algorithm. This might be improved in the future.
|
||||
*
|
||||
* \param hash_alg The hash algorithm.
|
||||
*
|
||||
* \return 1 if the PSA can handle \p hash_alg, 0 otherwise.
|
||||
*/
|
||||
int psa_can_do_hash(psa_algorithm_t hash_alg);
|
||||
|
||||
/**@}*/
|
||||
|
||||
/** \addtogroup crypto_types
|
||||
* @{
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1038,6 +1038,10 @@
|
|||
PSA_KEY_EXPORT_FFDH_PUBLIC_KEY_MAX_SIZE(PSA_VENDOR_FFDH_MAX_KEY_BITS)
|
||||
#endif
|
||||
|
||||
#define PSA_EXPORT_KEY_PAIR_OR_PUBLIC_MAX_SIZE \
|
||||
((PSA_EXPORT_KEY_PAIR_MAX_SIZE > PSA_EXPORT_PUBLIC_KEY_MAX_SIZE) ? \
|
||||
PSA_EXPORT_KEY_PAIR_MAX_SIZE : PSA_EXPORT_PUBLIC_KEY_MAX_SIZE)
|
||||
|
||||
/** Sufficient output buffer size for psa_raw_key_agreement().
|
||||
*
|
||||
* This macro returns a compile-time constant if its arguments are
|
||||
|
|
@ -1085,6 +1089,27 @@
|
|||
#define PSA_RAW_KEY_AGREEMENT_OUTPUT_MAX_SIZE PSA_BITS_TO_BYTES(PSA_VENDOR_FFDH_MAX_KEY_BITS)
|
||||
#endif
|
||||
|
||||
/** Maximum key length for ciphers.
|
||||
*
|
||||
* Since there is no additional PSA_WANT_xxx symbol to specifiy the size of
|
||||
* the key once a cipher is enabled (as it happens for asymmetric keys for
|
||||
* example), the maximum key length is taken into account for each cipher.
|
||||
* The resulting value will be the maximum cipher's key length given depending
|
||||
* on which ciphers are enabled.
|
||||
*
|
||||
* Note: max value for AES used below would be doubled if XTS were enabled, but
|
||||
* this mode is currently not supported in Mbed TLS implementation of PSA
|
||||
* APIs.
|
||||
*/
|
||||
#if (defined(PSA_WANT_KEY_TYPE_AES) || defined(PSA_WANT_KEY_TYPE_ARIA) || \
|
||||
defined(PSA_WANT_KEY_TYPE_CAMELLIA) || defined(PSA_WANT_KEY_TYPE_CHACHA20))
|
||||
#define PSA_CIPHER_MAX_KEY_LENGTH 32u
|
||||
#elif defined(PSA_WANT_KEY_TYPE_DES)
|
||||
#define PSA_CIPHER_MAX_KEY_LENGTH 24u
|
||||
#else
|
||||
#define PSA_CIPHER_MAX_KEY_LENGTH 0u
|
||||
#endif
|
||||
|
||||
/** The default IV size for a cipher algorithm, in bytes.
|
||||
*
|
||||
* The IV that is generated as part of a call to #psa_cipher_encrypt() is always
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue