blob: 8d15c58989bf54cc2e6bd85f987986d2c50a79de [file] [log] [blame]
John Durkop6e33dbe2020-09-17 21:15:13 -07001/**
2 * \file psa/crypto_config.h
3 * \brief PSA crypto configuration options (set of defines)
4 *
John Durkop7b453132020-10-12 21:56:26 -07005 */
John Durkopc7c03b72020-10-12 21:42:03 -07006#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
7/**
8 * When #MBEDTLS_PSA_CRYPTO_CONFIG is enabled in config.h,
9 * this file determines which cryptographic mechanisms are enabled
10 * through the PSA Cryptography API (\c psa_xxx() functions).
11 *
12 * To enable a cryptographic mechanism, uncomment the definition of
13 * the corresponding \c PSA_WANT_xxx preprocessor symbol.
14 * To disable a cryptographic mechanism, comment out the definition of
15 * the corresponding \c PSA_WANT_xxx preprocessor symbol.
16 * The names of cryptographic mechanisms correspond to values
17 * defined in psa/crypto_values.h, with the prefix \c PSA_WANT_ instead
18 * of \c PSA_.
19 *
20 * Note that many cryptographic mechanisms involve two symbols: one for
21 * the key type (\c PSA_WANT_KEY_TYPE_xxx) and one for the algorithm
22 * (\c PSA_WANT_ALG_xxx). Mechanisms with additional parameters may involve
23 * additional symbols.
John Durkop6e33dbe2020-09-17 21:15:13 -070024 */
John Durkopc7c03b72020-10-12 21:42:03 -070025#else
26/**
27 * When \c MBEDTLS_PSA_CRYPTO_CONFIG is disabled in config.h,
28 * this file is not used, and cryptographic mechanisms are supported
29 * through the PSA API if and only if they are supported through the
30 * mbedtls_xxx API.
31 */
32#endif
John Durkop6e33dbe2020-09-17 21:15:13 -070033/*
34 * Copyright The Mbed TLS Contributors
35 * SPDX-License-Identifier: Apache-2.0
36 *
37 * Licensed under the Apache License, Version 2.0 (the "License"); you may
38 * not use this file except in compliance with the License.
39 * You may obtain a copy of the License at
40 *
41 * http://www.apache.org/licenses/LICENSE-2.0
42 *
43 * Unless required by applicable law or agreed to in writing, software
44 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
45 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
46 * See the License for the specific language governing permissions and
47 * limitations under the License.
48 */
49
50#ifndef PSA_CRYPTO_CONFIG_H
51#define PSA_CRYPTO_CONFIG_H
52
John Durkop0ea39e02020-10-13 19:58:20 -070053#define PSA_WANT_ALG_DETERMINISTIC_ECDSA 1
John Durkopd0321952020-10-29 21:37:36 -070054#define PSA_WANT_ALG_ECDH 1
John Durkop07cc04a2020-11-16 22:08:34 -080055#define PSA_WANT_ALG_ECDSA 1
John Durkopd0321952020-10-29 21:37:36 -070056#define PSA_WANT_ALG_HKDF 1
John Durkop07cc04a2020-11-16 22:08:34 -080057#define PSA_WANT_ALG_HMAC 1
John Durkopfb764a62020-11-27 08:43:28 -080058#define PSA_WANT_ALG_MD2 1
59#define PSA_WANT_ALG_MD4 1
60#define PSA_WANT_ALG_MD5 1
61#define PSA_WANT_ALG_RIPEMD160 1
John Durkop07cc04a2020-11-16 22:08:34 -080062#define PSA_WANT_ALG_RSA_OAEP 1
John Durkop7fc75ea2020-11-03 19:05:36 -080063#define PSA_WANT_ALG_RSA_PKCS1V15_CRYPT 1
64#define PSA_WANT_ALG_RSA_PKCS1V15_SIGN 1
John Durkop7fc75ea2020-11-03 19:05:36 -080065#define PSA_WANT_ALG_RSA_PSS 1
John Durkopfb764a62020-11-27 08:43:28 -080066#define PSA_WANT_ALG_SHA_1 1
67#define PSA_WANT_ALG_SHA_224 1
68#define PSA_WANT_ALG_SHA_256 1
69#define PSA_WANT_ALG_SHA_384 1
70#define PSA_WANT_ALG_SHA_512 1
John Durkop07cc04a2020-11-16 22:08:34 -080071#define PSA_WANT_ALG_TLS12_PRF 1
72#define PSA_WANT_ALG_TLS12_PSK_TO_MS 1
Gilles Peskine47a89332021-01-12 00:00:15 +010073#define PSA_WANT_KEY_TYPE_HMAC 1
John Durkop07cc04a2020-11-16 22:08:34 -080074#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1
75#define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
John Durkop7fc75ea2020-11-03 19:05:36 -080076#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1
77#define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
John Durkop6e33dbe2020-09-17 21:15:13 -070078
John Durkop6e33dbe2020-09-17 21:15:13 -070079#endif /* PSA_CRYPTO_CONFIG_H */