mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
Merge branch 'development' into mbedtls_private_with_python
Conflicts: include/mbedtls/ssl.h Conflicts resolved by using code from development branch and manually re-applying MBEDTLS_PRIVATE wrapping.
This commit is contained in:
@ -111,9 +111,6 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
|
||||
#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
|
||||
mbedtls_ssl_conf_encrypt_then_mac( &conf, (options & 0x20) ? MBEDTLS_SSL_ETM_DISABLED : MBEDTLS_SSL_ETM_ENABLED);
|
||||
#endif
|
||||
#if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
|
||||
mbedtls_ssl_conf_cbc_record_splitting( &conf, (options & 0x40) ? MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED : MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED );
|
||||
#endif
|
||||
#if defined(MBEDTLS_SSL_RENEGOTIATION)
|
||||
mbedtls_ssl_conf_renegotiation( &conf, (options & 0x80) ? MBEDTLS_SSL_RENEGOTIATION_ENABLED : MBEDTLS_SSL_RENEGOTIATION_DISABLED );
|
||||
#endif
|
||||
|
@ -220,8 +220,8 @@ int main( void )
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if( ( ret = mbedtls_rsa_pkcs1_verify( &rsa, NULL, NULL, MBEDTLS_RSA_PUBLIC,
|
||||
MBEDTLS_MD_SHA256, 0, hash, p ) ) != 0 )
|
||||
if( ( ret = mbedtls_rsa_pkcs1_verify( &rsa, MBEDTLS_MD_SHA256,
|
||||
0, hash, p ) ) != 0 )
|
||||
{
|
||||
mbedtls_printf( " failed\n ! mbedtls_rsa_pkcs1_verify returned %d\n\n", ret );
|
||||
goto exit;
|
||||
|
@ -229,7 +229,7 @@ int main( void )
|
||||
buf[n ] = (unsigned char)( rsa.MBEDTLS_PRIVATE(len) >> 8 );
|
||||
buf[n + 1] = (unsigned char)( rsa.MBEDTLS_PRIVATE(len) );
|
||||
|
||||
if( ( ret = mbedtls_rsa_pkcs1_sign( &rsa, NULL, NULL, MBEDTLS_RSA_PRIVATE, MBEDTLS_MD_SHA256,
|
||||
if( ( ret = mbedtls_rsa_pkcs1_sign( &rsa, NULL, NULL, MBEDTLS_MD_SHA256,
|
||||
0, hash, buf + n + 2 ) ) != 0 )
|
||||
{
|
||||
mbedtls_printf( " failed\n ! mbedtls_rsa_pkcs1_sign returned %d\n\n", ret );
|
||||
|
@ -143,8 +143,7 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
|
||||
ret = mbedtls_rsa_pkcs1_encrypt( &rsa, mbedtls_ctr_drbg_random,
|
||||
&ctr_drbg, MBEDTLS_RSA_PUBLIC,
|
||||
strlen( argv[1] ), input, buf );
|
||||
&ctr_drbg, strlen( argv[1] ), input, buf );
|
||||
if( ret != 0 )
|
||||
{
|
||||
mbedtls_printf( " failed\n ! mbedtls_rsa_pkcs1_encrypt returned %d\n\n",
|
||||
|
@ -146,7 +146,7 @@ int main( int argc, char *argv[] )
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if( ( ret = mbedtls_rsa_pkcs1_sign( &rsa, NULL, NULL, MBEDTLS_RSA_PRIVATE, MBEDTLS_MD_SHA256,
|
||||
if( ( ret = mbedtls_rsa_pkcs1_sign( &rsa, NULL, NULL, MBEDTLS_MD_SHA256,
|
||||
20, hash, buf ) ) != 0 )
|
||||
{
|
||||
mbedtls_printf( " failed\n ! mbedtls_rsa_pkcs1_sign returned -0x%0x\n\n", (unsigned int) -ret );
|
||||
|
@ -140,8 +140,8 @@ int main( int argc, char *argv[] )
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if( ( ret = mbedtls_rsa_pkcs1_verify( &rsa, NULL, NULL, MBEDTLS_RSA_PUBLIC,
|
||||
MBEDTLS_MD_SHA256, 20, hash, buf ) ) != 0 )
|
||||
if( ( ret = mbedtls_rsa_pkcs1_verify( &rsa, MBEDTLS_MD_SHA256,
|
||||
20, hash, buf ) ) != 0 )
|
||||
{
|
||||
mbedtls_printf( " failed\n ! mbedtls_rsa_pkcs1_verify returned -0x%0x\n\n", (unsigned int) -ret );
|
||||
goto exit;
|
||||
|
@ -250,13 +250,6 @@ int main( void )
|
||||
#define USAGE_MAX_FRAG_LEN ""
|
||||
#endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */
|
||||
|
||||
#if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
|
||||
#define USAGE_RECSPLIT \
|
||||
" recsplit=0/1 default: (library default: on)\n"
|
||||
#else
|
||||
#define USAGE_RECSPLIT
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_DHM_C)
|
||||
#define USAGE_DHMLEN \
|
||||
" dhmlen=%%d default: (library default: 1024 bits)\n"
|
||||
@ -296,13 +289,6 @@ int main( void )
|
||||
#define USAGE_DTLS ""
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_SSL_FALLBACK_SCSV)
|
||||
#define USAGE_FALLBACK \
|
||||
" fallback=0/1 default: (library default: off)\n"
|
||||
#else
|
||||
#define USAGE_FALLBACK ""
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
|
||||
#define USAGE_EMS \
|
||||
" extended_ms=0/1 default: (library default: on)\n"
|
||||
@ -411,20 +397,18 @@ int main( void )
|
||||
USAGE_TRUNC_HMAC \
|
||||
USAGE_CONTEXT_CRT_CB \
|
||||
USAGE_ALPN \
|
||||
USAGE_FALLBACK \
|
||||
USAGE_EMS \
|
||||
USAGE_ETM \
|
||||
USAGE_REPRODUCIBLE \
|
||||
USAGE_CURVES \
|
||||
USAGE_RECSPLIT \
|
||||
USAGE_DHMLEN \
|
||||
"\n"
|
||||
#define USAGE4 \
|
||||
" allow_sha1=%%d default: 0\n" \
|
||||
" min_version=%%s default: (library default: tls1)\n" \
|
||||
" min_version=%%s default: (library default: tls1_2)\n" \
|
||||
" max_version=%%s default: (library default: tls1_2)\n" \
|
||||
" force_version=%%s default: \"\" (none)\n" \
|
||||
" options: tls1, tls1_1, tls1_2, dtls1, dtls1_2\n" \
|
||||
" options: tls1_2, dtls1_2\n" \
|
||||
"\n" \
|
||||
" force_ciphersuite=<name> default: all enabled\n"\
|
||||
" query_config=<name> return 0 if the specified\n" \
|
||||
@ -1065,15 +1049,6 @@ int main( int argc, char *argv[] )
|
||||
{
|
||||
opt.alpn_string = q;
|
||||
}
|
||||
else if( strcmp( p, "fallback" ) == 0 )
|
||||
{
|
||||
switch( atoi( q ) )
|
||||
{
|
||||
case 0: opt.fallback = MBEDTLS_SSL_IS_NOT_FALLBACK; break;
|
||||
case 1: opt.fallback = MBEDTLS_SSL_IS_FALLBACK; break;
|
||||
default: goto usage;
|
||||
}
|
||||
}
|
||||
else if( strcmp( p, "extended_ms" ) == 0 )
|
||||
{
|
||||
switch( atoi( q ) )
|
||||
@ -1100,12 +1075,7 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else if( strcmp( p, "min_version" ) == 0 )
|
||||
{
|
||||
if( strcmp( q, "tls1" ) == 0 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
else if( strcmp( q, "tls1_1" ) == 0 ||
|
||||
strcmp( q, "dtls1" ) == 0 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
else if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
strcmp( q, "dtls1_2" ) == 0 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
else
|
||||
@ -1113,12 +1083,7 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else if( strcmp( p, "max_version" ) == 0 )
|
||||
{
|
||||
if( strcmp( q, "tls1" ) == 0 )
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
else if( strcmp( q, "tls1_1" ) == 0 ||
|
||||
strcmp( q, "dtls1" ) == 0 )
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
else if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
strcmp( q, "dtls1_2" ) == 0 )
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
else
|
||||
@ -1135,27 +1100,11 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else if( strcmp( p, "force_version" ) == 0 )
|
||||
{
|
||||
if( strcmp( q, "tls1" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
}
|
||||
else if( strcmp( q, "tls1_1" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
}
|
||||
else if( strcmp( q, "tls1_2" ) == 0 )
|
||||
if( strcmp( q, "tls1_2" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
}
|
||||
else if( strcmp( q, "dtls1" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.transport = MBEDTLS_SSL_TRANSPORT_DATAGRAM;
|
||||
}
|
||||
else if( strcmp( q, "dtls1_2" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
@ -1377,10 +1326,10 @@ int main( int argc, char *argv[] )
|
||||
if( opt.min_version < ciphersuite_info->min_minor_ver )
|
||||
{
|
||||
opt.min_version = ciphersuite_info->min_minor_ver;
|
||||
/* DTLS starts with TLS 1.1 */
|
||||
/* DTLS starts with TLS 1.2 */
|
||||
if( opt.transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM &&
|
||||
opt.min_version < MBEDTLS_SSL_MINOR_VERSION_2 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.min_version < MBEDTLS_SSL_MINOR_VERSION_3 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
}
|
||||
|
||||
#if defined(MBEDTLS_USE_PSA_CRYPTO)
|
||||
@ -1808,13 +1757,6 @@ int main( int argc, char *argv[] )
|
||||
#endif /* MBEDTLS_SSL_DTLS_SRTP */
|
||||
#endif /* MBEDTLS_SSL_EXPORT_KEYS */
|
||||
|
||||
#if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
|
||||
if( opt.recsplit != DFL_RECSPLIT )
|
||||
mbedtls_ssl_conf_cbc_record_splitting( &conf, opt.recsplit
|
||||
? MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED
|
||||
: MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED );
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_DHM_C)
|
||||
if( opt.dhmlen != DFL_DHMLEN )
|
||||
mbedtls_ssl_conf_dhm_min_bitlen( &conf, opt.dhmlen );
|
||||
@ -1937,11 +1879,6 @@ int main( int argc, char *argv[] )
|
||||
mbedtls_ssl_conf_max_version( &conf, MBEDTLS_SSL_MAJOR_VERSION_3,
|
||||
opt.max_version );
|
||||
|
||||
#if defined(MBEDTLS_SSL_FALLBACK_SCSV)
|
||||
if( opt.fallback != DFL_FALLBACK )
|
||||
mbedtls_ssl_conf_fallback( &conf, opt.fallback );
|
||||
#endif
|
||||
|
||||
if( ( ret = mbedtls_ssl_setup( &ssl, &conf ) ) != 0 )
|
||||
{
|
||||
mbedtls_printf( " failed\n ! mbedtls_ssl_setup returned -0x%x\n\n",
|
||||
|
@ -874,7 +874,6 @@ void print_deserialized_ssl_context( const uint8_t *ssl, size_t len )
|
||||
print_if_bit( "MBEDTLS_SSL_SESSION_TICKETS and client", SESSION_CONFIG_CLIENT_TICKET_BIT, session_cfg_flag );
|
||||
|
||||
print_if_bit( "MBEDTLS_SSL_DTLS_CONNECTION_ID", CONTEXT_CONFIG_DTLS_CONNECTION_ID_BIT, context_cfg_flag );
|
||||
print_if_bit( "MBEDTLS_SSL_DTLS_BADMAC_LIMIT", CONTEXT_CONFIG_DTLS_BADMAC_LIMIT_BIT, context_cfg_flag );
|
||||
print_if_bit( "MBEDTLS_SSL_DTLS_ANTI_REPLAY", CONTEXT_CONFIG_DTLS_ANTI_REPLAY_BIT, context_cfg_flag );
|
||||
print_if_bit( "MBEDTLS_SSL_ALPN", CONTEXT_CONFIG_ALPN_BIT, context_cfg_flag );
|
||||
|
||||
|
@ -365,12 +365,8 @@ int main( void )
|
||||
#define USAGE_ANTI_REPLAY ""
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
|
||||
#define USAGE_BADMAC_LIMIT \
|
||||
" badmac_limit=%%d default: (library default: disabled)\n"
|
||||
#else
|
||||
#define USAGE_BADMAC_LIMIT ""
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_SSL_PROTO_DTLS)
|
||||
#define USAGE_DTLS \
|
||||
@ -502,10 +498,10 @@ int main( void )
|
||||
USAGE_SSL_ASYNC \
|
||||
USAGE_SNI \
|
||||
" allow_sha1=%%d default: 0\n" \
|
||||
" min_version=%%s default: (library default: tls1)\n" \
|
||||
" min_version=%%s default: (library default: tls1_2)\n" \
|
||||
" max_version=%%s default: (library default: tls1_2)\n" \
|
||||
" force_version=%%s default: \"\" (none)\n" \
|
||||
" options: tls1, tls1_1, tls1_2, dtls1, dtls1_2\n" \
|
||||
" options: tls1_2, dtls1_2\n" \
|
||||
"\n" \
|
||||
" version_suites=a,b,c per-version ciphersuites\n" \
|
||||
" in order from tls1 to tls1_2\n" \
|
||||
@ -1728,12 +1724,7 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else if( strcmp( p, "min_version" ) == 0 )
|
||||
{
|
||||
if( strcmp( q, "tls1" ) == 0 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
else if( strcmp( q, "tls1_1" ) == 0 ||
|
||||
strcmp( q, "dtls1" ) == 0 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
else if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
strcmp( q, "dtls1_2" ) == 0 )
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
else
|
||||
@ -1741,12 +1732,7 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else if( strcmp( p, "max_version" ) == 0 )
|
||||
{
|
||||
if( strcmp( q, "tls1" ) == 0 )
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
else if( strcmp( q, "tls1_1" ) == 0 ||
|
||||
strcmp( q, "dtls1" ) == 0 )
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
else if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
if( strcmp( q, "tls1_2" ) == 0 ||
|
||||
strcmp( q, "dtls1_2" ) == 0 )
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
else
|
||||
@ -1763,27 +1749,11 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else if( strcmp( p, "force_version" ) == 0 )
|
||||
{
|
||||
if( strcmp( q, "tls1" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_1;
|
||||
}
|
||||
else if( strcmp( q, "tls1_1" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
}
|
||||
else if( strcmp( q, "tls1_2" ) == 0 )
|
||||
if( strcmp( q, "tls1_2" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
}
|
||||
else if( strcmp( q, "dtls1" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.max_version = MBEDTLS_SSL_MINOR_VERSION_2;
|
||||
opt.transport = MBEDTLS_SSL_TRANSPORT_DATAGRAM;
|
||||
}
|
||||
else if( strcmp( q, "dtls1_2" ) == 0 )
|
||||
{
|
||||
opt.min_version = MBEDTLS_SSL_MINOR_VERSION_3;
|
||||
@ -2713,10 +2683,8 @@ int main( int argc, char *argv[] )
|
||||
mbedtls_ssl_conf_dtls_anti_replay( &conf, opt.anti_replay );
|
||||
#endif
|
||||
|
||||
#if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
|
||||
if( opt.badmac_limit != DFL_BADMAC_LIMIT )
|
||||
mbedtls_ssl_conf_dtls_badmac_limit( &conf, opt.badmac_limit );
|
||||
#endif
|
||||
}
|
||||
#endif /* MBEDTLS_SSL_PROTO_DTLS */
|
||||
|
||||
|
Reference in New Issue
Block a user