043c8c5de8
While at it, also fix buffer size for functions that already depend on USE_PSA: it should be PSA_HASH_MAX_SIZE for functions that always use PSA, and the new macro MBEDTLS_USE_PSA_MD_MAX_SIZE for functions that use it or not depending on USE_PSA. The only case where MBEDTLS_MD_MAX_SIZE is OK is when the function always uses MD - currently this is the case with pk_sign_verify_restart() as it is incompatible with USE_PSA anyway. Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
67 lines
2.7 KiB
C
67 lines
2.7 KiB
C
/**
|
|
* Internal macros for parts of the code governed by MBEDTLS_USE_PSA_CRYPTO.
|
|
* Some macros allow checking if an algorithm is available, either via the
|
|
* legacy API or the PSA Crypto API, depending on MBEDTLS_USE_PSA_CRYPTO;
|
|
* when possible, they're named after the corresponding PSA_WANT_ macro.
|
|
* Other macros provide max sizes or similar information in a USE_PSA-aware
|
|
* way; they're name after a similar constant from the legacy API or PSA.
|
|
*
|
|
* 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_USE_PSA_HELPERS_H
|
|
#define MBEDTLS_USE_PSA_HELPERS_H
|
|
|
|
#include "common.h"
|
|
|
|
/* Hash algorithms */
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_MD5_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_MD5) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_MD5
|
|
#endif
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_RIPEMD160_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_RIPEMD160) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_RIPEMD160
|
|
#endif
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SHA1_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_1) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_SHA_1
|
|
#endif
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SHA224_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_224) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_SHA_224
|
|
#endif
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SHA256_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_256) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_SHA_256
|
|
#endif
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SHA384_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_384) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_SHA_384
|
|
#endif
|
|
#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SHA512_C) ) || \
|
|
( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_512) )
|
|
#define MBEDTLS_USE_PSA_WANT_ALG_SHA_512
|
|
#endif
|
|
|
|
/* Hash information */
|
|
#if defined(MBEDTLS_USE_PSA_CRYPTO)
|
|
#define MBEDTLS_USE_PSA_MD_MAX_SIZE PSA_HASH_MAX_SIZE
|
|
#else
|
|
#define MBEDTLS_USE_PSA_MD_MAX_SIZE MBEDTLS_MD_MAX_SIZE
|
|
#endif
|
|
|
|
#endif /* MBEDTLS_USE_PSA_HELPERS_H */
|