mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-08 06:40:16 -04:00

With the new feature MBEDTLS_PSA_CRYPTO_CONFIG, needed to add support that when the feature is disabled, if there are defines like MBEDTLS_ECDSA_C defined, then the PSA_WANT_ equivalent define is also enabled. This ensures the guards in the library psa_crypto will work properly. Also fixed an error return code in the driver wrapper for cipher encrypt setup so it will properly pass unit tests. Ensured config.py full works properly with the new MBEDTLS_PSA_CRYPTO_CONFIG, it should not be set when the full option is used. Signed-off-by: John Durkop <john.durkop@fermatsoftware.com>
76 lines
2.2 KiB
C
76 lines
2.2 KiB
C
/**
|
|
* \file mbedtls/config_psa.h
|
|
* \brief PSA crypto configuration options (set of defines)
|
|
*
|
|
* This set of compile-time options may be used to enable
|
|
* or disable PSA crypto features selectively. This will aid
|
|
* in reducing the size of the library by removing unused code.
|
|
*/
|
|
/*
|
|
* 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 MBEDTLS_CONFIG_PSA_H
|
|
#define MBEDTLS_CONFIG_PSA_H
|
|
|
|
#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
|
|
#include "psa/crypto_config.h"
|
|
#endif /* defined(MBEDTLS_PSAY_CRYPTO_CONFIG) */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
|
|
|
|
#if defined(PSA_WANT_ALG_ECDSA)
|
|
#if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA)
|
|
#define MBEDTLS_PSA_BUILTIN_ALG_ECDSA
|
|
#else /* !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) */
|
|
#define MBEDTLS_ECDSA_C
|
|
#endif /* !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) */
|
|
#endif /* defined(PSA_WANT_ALG_ECDSA) */
|
|
|
|
#if defined(PSA_WANT_ALG_ECDSA_DETERMINISTIC)
|
|
#if !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC)
|
|
#define MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA
|
|
#else /* && !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) */
|
|
#define MBEDTLS_ECDSA_DETERMINISTIC
|
|
#endif /* !defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA_DETERMINISTIC) */
|
|
#endif /* defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) */
|
|
|
|
#else /* MBEDTLS_PSA_CRYPTO_CONFIG */
|
|
|
|
/*
|
|
* Ensure PSA_WANT_* defines are setup properly if MBEDTLS_PSA_CRYPTO_CONFIG
|
|
* is not defined
|
|
*/
|
|
#ifdef MBEDTLS_ECDSA_C
|
|
#define PSA_WANT_ALG_ECDSA
|
|
#endif /* MBEDTLS_ECDSA_C */
|
|
|
|
#ifdef MBEDTLS_ECDSA_DETERMINISTIC
|
|
#define PSA_WANT_ALG_ECDSA_DETERMINISTIC
|
|
#endif /* MBEDTLS_ECDSA_DETERMINISTIC */
|
|
|
|
#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* MBEDTLS_CONFIG_PSA_H */
|