mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-05-14 07:38:16 +02:00
Merge remote-tracking branch 'origin/pr/630' into baremetal
This commit is contained in:
@@ -103,6 +103,18 @@
|
||||
#error "MBEDTLS_USE_TINYCRYPT defined, but it cannot be defined with MBEDTLS_NO_64BIT_MULTIPLICATION"
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_USE_TINYCRYPT) && \
|
||||
!( defined(MBEDTLS_SSL_CONF_SINGLE_EC) && \
|
||||
MBEDTLS_SSL_CONF_SINGLE_EC_TLS_ID == 23 && \
|
||||
MBEDTLS_SSL_CONF_SINGLE_EC_GRP_ID == MBEDTLS_ECP_DP_SECP256R1 )
|
||||
#error "MBEDTLS_USE_TINYCRYPT requires the use of MBEDTLS_SSL_CONF_SINGLE_EC to hardcode the choice of Secp256r1"
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_USE_TINYCRYPT) && \
|
||||
!defined(MBEDTLS_SSL_CONF_RNG)
|
||||
#error "MBEDTLS_USE_TINYCRYPT defined, but not all prerequesites"
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_NIST_KW_C) && \
|
||||
( !defined(MBEDTLS_AES_C) || !defined(MBEDTLS_CIPHER_C) )
|
||||
#error "MBEDTLS_NIST_KW_C defined, but not all prerequisites"
|
||||
@@ -260,14 +272,17 @@
|
||||
#error "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED defined, but not all prerequisites"
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \
|
||||
( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_RSA_C) || \
|
||||
!defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) )
|
||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \
|
||||
( !( defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_USE_TINYCRYPT) ) || \
|
||||
!defined(MBEDTLS_RSA_C) || \
|
||||
!defined(MBEDTLS_X509_CRT_PARSE_C) || \
|
||||
!defined(MBEDTLS_PKCS1_V15) )
|
||||
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites"
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \
|
||||
( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_ECDSA_C) || \
|
||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \
|
||||
( !( defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_USE_TINYCRYPT) ) || \
|
||||
!defined(MBEDTLS_ECDSA_C) || \
|
||||
!defined(MBEDTLS_X509_CRT_PARSE_C) )
|
||||
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites"
|
||||
#endif
|
||||
|
||||
@@ -2536,6 +2536,15 @@
|
||||
* BSD, and can be found at https://github.com/intel/tinycrypt - this option
|
||||
* only enables the ECC modules from TinyCrypt.
|
||||
*
|
||||
* Requires: MBEDTLS_SSL_CONF_RNG
|
||||
* MBEDTLS_SSL_CONF_SINGLE_EC
|
||||
* MBEDTLS_SSL_CONF_SINGLE_EC_TLS_ID == 23
|
||||
* MBEDTLS_SSL_CONF_SINGLE_EC_GRP_ID == MBEDTLS_ECP_DP_SECP256R1
|
||||
*
|
||||
* \see MBEDTLS_SSL_CONF_RNG
|
||||
*
|
||||
* \see MBEDTLS_SSL_CONF_SINGLE_EC
|
||||
*
|
||||
* Module: tinycrypt/ecc.c
|
||||
* tinycrypt/ecc_dh.c
|
||||
* tinycrypt/ecc_dsa.c
|
||||
|
||||
@@ -53,6 +53,11 @@
|
||||
#include "ecjpake.h"
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_USE_TINYCRYPT)
|
||||
#include "tinycrypt/ecc.h"
|
||||
#include "tinycrypt/ecc_dh.h"
|
||||
#endif
|
||||
|
||||
#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
|
||||
!defined(inline) && !defined(__cplusplus)
|
||||
#define inline __inline
|
||||
@@ -381,7 +386,9 @@ struct mbedtls_ssl_handshake_params
|
||||
size_t ecjpake_cache_len; /*!< Length of cached data */
|
||||
#endif
|
||||
#endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
|
||||
#if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \
|
||||
#if defined(MBEDTLS_ECDH_C) || \
|
||||
defined(MBEDTLS_ECDSA_C) || \
|
||||
defined(MBEDTLS_USE_TINYCRYPT) || \
|
||||
defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
||||
uint16_t curve_tls_id; /*!< TLS ID of EC for ECDHE. */
|
||||
#endif
|
||||
@@ -542,6 +549,11 @@ struct mbedtls_ssl_handshake_params
|
||||
* The library does not use it internally. */
|
||||
void *user_async_ctx;
|
||||
#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */
|
||||
|
||||
#if defined(MBEDTLS_USE_TINYCRYPT)
|
||||
uint8_t ecdh_privkey[NUM_ECC_BYTES];
|
||||
uint8_t ecdh_peerkey[2*NUM_ECC_BYTES];
|
||||
#endif /* MBEDTLS_USE_TINYCRYPT */
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -1833,4 +1845,9 @@ static inline int mbedtls_ssl_session_get_compression(
|
||||
|
||||
#define MBEDTLS_SSL_CHK(f) do { if( ( ret = f ) < 0 ) goto cleanup; } while( 0 )
|
||||
|
||||
#if defined(MBEDTLS_USE_TINYCRYPT)
|
||||
int mbedtls_ssl_ecdh_read_peerkey( mbedtls_ssl_context *ssl,
|
||||
unsigned char **p, unsigned char *end );
|
||||
#endif /* MBEDTLS_USE_TINYCRYPT */
|
||||
|
||||
#endif /* ssl_internal.h */
|
||||
|
||||
Reference in New Issue
Block a user