-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added minimal TLSv1.3-only client configuration
- Loading branch information
1 parent
3aefa5b
commit 72ee720
Showing
2 changed files
with
103 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
/** | ||
* \file config-aes-gcm-tls1_3.h | ||
* | ||
* \brief Minimal configuration for a TLS 1.3 only client with AES-GCM ciphersuites | ||
*/ | ||
/* | ||
* Copyright The Mbed TLS Contributors | ||
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later | ||
*/ | ||
|
||
#define MBEDTLS_PSA_CRYPTO_CONFIG_FILE "../configs/crypto-config-aes-gcm-tls1_3.h" | ||
|
||
/* Crypto support */ | ||
#define MBEDTLS_PSA_CRYPTO_C | ||
|
||
/* System support */ | ||
//#define MBEDTLS_HAVE_TIME /* Optionally used in Hello messages */ | ||
/* Other MBEDTLS_HAVE_XXX flags irrelevant for this configuration */ | ||
|
||
/* Mbed TLS modules */ | ||
#define MBEDTLS_ASN1_PARSE_C | ||
#define MBEDTLS_ASN1_WRITE_C | ||
#define MBEDTLS_CTR_DRBG_C | ||
#define MBEDTLS_ENTROPY_C | ||
#define MBEDTLS_MD_C | ||
#define MBEDTLS_NET_C | ||
#define MBEDTLS_OID_C | ||
#define MBEDTLS_PK_C | ||
#define MBEDTLS_PK_PARSE_C | ||
#define MBEDTLS_SSL_CLI_C | ||
#define MBEDTLS_SSL_TLS_C | ||
#define MBEDTLS_X509_CRT_PARSE_C | ||
#define MBEDTLS_X509_USE_C | ||
|
||
/* Enable ECP algorithms */ | ||
#define MBEDTLS_ECP_DP_BP256R1_ENABLED | ||
#define MBEDTLS_ECP_DP_BP384R1_ENABLED | ||
#define MBEDTLS_ECP_DP_BP512R1_ENABLED | ||
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED | ||
#define MBEDTLS_ECP_DP_CURVE448_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP192K1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP224K1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED | ||
#define MBEDTLS_ECP_DP_SECP521R1_ENABLED | ||
|
||
/* TLS protocol feature support */ | ||
#define MBEDTLS_SSL_PROTO_TLS1_3 | ||
#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE | ||
#define MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE | ||
#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED | ||
#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED | ||
|
||
/* | ||
* Use only AES-GCM ciphersuites, and | ||
* save ROM and a few bytes of RAM by specifying our own ciphersuite list | ||
*/ | ||
#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS1_3_AES_128_GCM_SHA256, MBEDTLS_TLS1_3_AES_256_GCM_SHA384 | ||
|
||
/* | ||
* You should adjust this to the exact number of sources you're using: default | ||
* is the "platform_entropy_poll" source, but you may want to add other ones | ||
* Minimum is 2 for the entropy test suite. | ||
*/ | ||
#define MBEDTLS_ENTROPY_MAX_SOURCES 2 | ||
|
||
/* Error messages and TLS debugging traces | ||
* (huge code size increase, needed for tests/ssl-opt.sh) */ | ||
//#define MBEDTLS_DEBUG_C | ||
//#define MBEDTLS_ERROR_C | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/** | ||
* \file crypto-config-aes-gcm-tls1_3.h | ||
* | ||
* \brief Minimal crypto configuration for a TLS 1.3 only client with AES-GCM ciphersuites | ||
*/ | ||
/* | ||
* Copyright The Mbed TLS Contributors | ||
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later | ||
*/ | ||
|
||
/** | ||
* To be used in conjunction with configs/config-aes-gcm-tls1_3.h */ | ||
|
||
#ifndef PSA_CRYPTO_CONFIG_H | ||
#define PSA_CRYPTO_CONFIG_H | ||
|
||
#define PSA_WANT_ALG_GCM 1 | ||
#define PSA_WANT_ALG_ECDH 1 | ||
#define PSA_WANT_ALG_ECDSA 1 | ||
#define PSA_WANT_ALG_SHA_256 1 | ||
#define PSA_WANT_ALG_SHA_384 1 | ||
#define PSA_WANT_ALG_HKDF_EXPAND 1 | ||
#define PSA_WANT_ALG_HKDF_EXTRACT 1 | ||
|
||
#define PSA_WANT_KEY_TYPE_AES 1 | ||
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1 | ||
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1 | ||
|
||
#endif /* PSA_CRYPTO_CONFIG_H */ |