mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-23 18:55:40 +01:00
d032195278
This phase adds in support for the following features being added to the list of features that can be configured in the include/psa/crypto_config.h header file using the PSA_WANT_ALG_xxx macros: ECDH, HMAC, HKDF, and RSA. These changes include changes to the PSA crypto library to use the appropriate new guards that will allow the feature to be compiled in or out either using new PSA_WANT_ALG_xxx or the previous MBEDTLS_xxx macros. For HKDF and HMAC, most of the PSA library code did not have a specific matching MBEDTLS_xxx macro for that feature, but was instead using the generic dependent MBEDTLS_MD_C macro. The ECDH and RSA features more closely aligned with a direct replacement with a similar macro. The new tests for RSA, HMAC, and HKDF would normally unset additional dependent macros, but when attempting to implement that level of testing it required removal of too many core features like MD_C, PK_C, ECP_C and other low level features. This may point to additional phases of work to complete the transition of these features to the new model. Signed-off-by: John Durkop <john.durkop@fermatsoftware.com>
61 lines
2.2 KiB
C
61 lines
2.2 KiB
C
/**
|
|
* \file psa/crypto_config.h
|
|
* \brief PSA crypto configuration options (set of defines)
|
|
*
|
|
*/
|
|
#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
|
|
/**
|
|
* When #MBEDTLS_PSA_CRYPTO_CONFIG is enabled in config.h,
|
|
* this file determines which cryptographic mechanisms are enabled
|
|
* through the PSA Cryptography API (\c psa_xxx() functions).
|
|
*
|
|
* To enable a cryptographic mechanism, uncomment the definition of
|
|
* the corresponding \c PSA_WANT_xxx preprocessor symbol.
|
|
* To disable a cryptographic mechanism, comment out the definition of
|
|
* the corresponding \c PSA_WANT_xxx preprocessor symbol.
|
|
* The names of cryptographic mechanisms correspond to values
|
|
* defined in psa/crypto_values.h, with the prefix \c PSA_WANT_ instead
|
|
* of \c PSA_.
|
|
*
|
|
* Note that many cryptographic mechanisms involve two symbols: one for
|
|
* the key type (\c PSA_WANT_KEY_TYPE_xxx) and one for the algorithm
|
|
* (\c PSA_WANT_ALG_xxx). Mechanisms with additional parameters may involve
|
|
* additional symbols.
|
|
*/
|
|
#else
|
|
/**
|
|
* When \c MBEDTLS_PSA_CRYPTO_CONFIG is disabled in config.h,
|
|
* this file is not used, and cryptographic mechanisms are supported
|
|
* through the PSA API if and only if they are supported through the
|
|
* mbedtls_xxx API.
|
|
*/
|
|
#endif
|
|
/*
|
|
* 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_CONFIG_H
|
|
#define PSA_CRYPTO_CONFIG_H
|
|
|
|
#define PSA_WANT_ALG_ECDSA 1
|
|
#define PSA_WANT_ALG_DETERMINISTIC_ECDSA 1
|
|
#define PSA_WANT_ALG_ECDH 1
|
|
#define PSA_WANT_ALG_HMAC 1
|
|
#define PSA_WANT_ALG_HKDF 1
|
|
#define PSA_WANT_ALG_RSA 1
|
|
|
|
#endif /* PSA_CRYPTO_CONFIG_H */
|