mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
- Added support for NULL cipher (POLARSSL_CIPHER_NULL_CIPHER) and weak ciphersuites (POLARSSL_ENABLE_WEAK_CIPHERSUITES). They are disabled by default!
This commit is contained in:
@ -5,7 +5,7 @@
|
||||
*
|
||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||
*
|
||||
* Copyright (C) 2006-2010, Brainspark B.V.
|
||||
* Copyright (C) 2006-2012, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
@ -86,6 +86,10 @@ static const int supported_ciphers[] = {
|
||||
POLARSSL_CIPHER_DES_EDE3_CBC,
|
||||
#endif /* defined(POLARSSL_DES_C) */
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
POLARSSL_CIPHER_NULL,
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
0
|
||||
};
|
||||
|
||||
@ -164,6 +168,11 @@ const cipher_info_t *cipher_info_from_type( const cipher_type_t cipher_type )
|
||||
return &des_ede3_cbc_info;
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
case POLARSSL_CIPHER_NULL:
|
||||
return &null_cipher_info;
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -237,6 +246,12 @@ const cipher_info_t *cipher_info_from_string( const char *cipher_name )
|
||||
if( !strcasecmp( "DES-EDE3-CBC", cipher_name ) )
|
||||
return cipher_info_from_type( POLARSSL_CIPHER_DES_EDE3_CBC );
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( !strcasecmp( "NULL", cipher_name ) )
|
||||
return cipher_info_from_type( POLARSSL_CIPHER_NULL );
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -274,6 +289,11 @@ int cipher_setkey( cipher_context_t *ctx, const unsigned char *key,
|
||||
ctx->key_length = key_length;
|
||||
ctx->operation = operation;
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( ctx->cipher_info->mode == POLARSSL_MODE_NULL )
|
||||
return 0;
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
/*
|
||||
* For CFB128 and CTR mode always use the encryption key schedule
|
||||
*/
|
||||
@ -318,6 +338,15 @@ int cipher_update( cipher_context_t *ctx, const unsigned char *input, size_t ile
|
||||
|
||||
*olen = 0;
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( ctx->cipher_info->mode == POLARSSL_MODE_NULL )
|
||||
{
|
||||
memcpy( output, input, ilen );
|
||||
*olen = ilen;
|
||||
return 0;
|
||||
}
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
if( ctx->cipher_info->mode == POLARSSL_MODE_CBC )
|
||||
{
|
||||
/*
|
||||
@ -465,7 +494,8 @@ int cipher_finish( cipher_context_t *ctx, unsigned char *output, size_t *olen)
|
||||
*olen = 0;
|
||||
|
||||
if( POLARSSL_MODE_CFB128 == ctx->cipher_info->mode ||
|
||||
POLARSSL_MODE_CTR == ctx->cipher_info->mode )
|
||||
POLARSSL_MODE_CTR == ctx->cipher_info->mode ||
|
||||
POLARSSL_MODE_NULL == ctx->cipher_info->mode )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
*
|
||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||
*
|
||||
* Copyright (C) 2006-2011, Brainspark B.V.
|
||||
* Copyright (C) 2006-2012, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
@ -549,4 +549,38 @@ const cipher_info_t des_ede3_cbc_info = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
static void * null_ctx_alloc( void )
|
||||
{
|
||||
return (void *) 1;
|
||||
}
|
||||
|
||||
|
||||
static void null_ctx_free( void *ctx )
|
||||
{
|
||||
((void) ctx);
|
||||
}
|
||||
|
||||
const cipher_base_t null_base_info = {
|
||||
POLARSSL_CIPHER_ID_NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
null_ctx_alloc,
|
||||
null_ctx_free
|
||||
};
|
||||
|
||||
const cipher_info_t null_cipher_info = {
|
||||
POLARSSL_CIPHER_NULL,
|
||||
POLARSSL_MODE_NULL,
|
||||
0,
|
||||
"NULL",
|
||||
1,
|
||||
1,
|
||||
&null_base_info
|
||||
};
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* SSLv3/TLSv1 client-side functions
|
||||
*
|
||||
* Copyright (C) 2006-2010, Brainspark B.V.
|
||||
* Copyright (C) 2006-2012, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
@ -342,7 +342,8 @@ static int ssl_parse_server_key_exchange( ssl_context *ssl )
|
||||
|
||||
SSL_DEBUG_MSG( 2, ( "=> parse server key exchange" ) );
|
||||
|
||||
if( ssl->session->ciphersuite != SSL_EDH_RSA_DES_168_SHA &&
|
||||
if( ssl->session->ciphersuite != SSL_EDH_RSA_DES_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_DES_168_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_AES_128_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_AES_256_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_CAMELLIA_128_SHA &&
|
||||
@ -536,7 +537,8 @@ static int ssl_write_client_key_exchange( ssl_context *ssl )
|
||||
|
||||
SSL_DEBUG_MSG( 2, ( "=> write client key exchange" ) );
|
||||
|
||||
if( ssl->session->ciphersuite == SSL_EDH_RSA_DES_168_SHA ||
|
||||
if( ssl->session->ciphersuite == SSL_EDH_RSA_DES_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_DES_168_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_AES_128_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_AES_256_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_CAMELLIA_128_SHA ||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* SSLv3/TLSv1 server-side functions
|
||||
*
|
||||
* Copyright (C) 2006-2010, Brainspark B.V.
|
||||
* Copyright (C) 2006-2012, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
@ -544,7 +544,8 @@ static int ssl_write_server_key_exchange( ssl_context *ssl )
|
||||
|
||||
SSL_DEBUG_MSG( 2, ( "=> write server key exchange" ) );
|
||||
|
||||
if( ssl->session->ciphersuite != SSL_EDH_RSA_DES_168_SHA &&
|
||||
if( ssl->session->ciphersuite != SSL_EDH_RSA_DES_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_DES_168_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_AES_128_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_AES_256_SHA &&
|
||||
ssl->session->ciphersuite != SSL_EDH_RSA_CAMELLIA_128_SHA &&
|
||||
@ -716,7 +717,8 @@ static int ssl_parse_client_key_exchange( ssl_context *ssl )
|
||||
return( POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE );
|
||||
}
|
||||
|
||||
if( ssl->session->ciphersuite == SSL_EDH_RSA_DES_168_SHA ||
|
||||
if( ssl->session->ciphersuite == SSL_EDH_RSA_DES_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_DES_168_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_AES_128_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_AES_256_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_CAMELLIA_128_SHA ||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* SSLv3/TLSv1 shared functions
|
||||
*
|
||||
* Copyright (C) 2006-2010, Brainspark B.V.
|
||||
* Copyright (C) 2006-2012, Brainspark B.V.
|
||||
*
|
||||
* This file is part of PolarSSL (http://www.polarssl.org)
|
||||
* Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
|
||||
@ -41,6 +41,7 @@
|
||||
#include "polarssl/des.h"
|
||||
#include "polarssl/debug.h"
|
||||
#include "polarssl/ssl.h"
|
||||
#include "polarssl/sha2.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
@ -277,6 +278,33 @@ int ssl_derive_keys( ssl_context *ssl )
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
case SSL_RSA_NULL_MD5:
|
||||
ssl->keylen = 0; ssl->minlen = 0;
|
||||
ssl->ivlen = 0; ssl->maclen = 16;
|
||||
break;
|
||||
|
||||
case SSL_RSA_NULL_SHA:
|
||||
ssl->keylen = 0; ssl->minlen = 0;
|
||||
ssl->ivlen = 0; ssl->maclen = 20;
|
||||
break;
|
||||
|
||||
case SSL_RSA_NULL_SHA256:
|
||||
ssl->keylen = 0; ssl->minlen = 0;
|
||||
ssl->ivlen = 0; ssl->maclen = 32;
|
||||
break;
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
#if defined(POLARSSL_DES_C)
|
||||
case SSL_RSA_DES_SHA:
|
||||
case SSL_EDH_RSA_DES_SHA:
|
||||
ssl->keylen = 8; ssl->minlen = 8;
|
||||
ssl->ivlen = 8; ssl->maclen = 20;
|
||||
break;
|
||||
#endif
|
||||
#endif /* defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES) */
|
||||
|
||||
default:
|
||||
SSL_DEBUG_MSG( 1, ( "ciphersuite %s is not available",
|
||||
ssl_get_ciphersuite( ssl ) ) );
|
||||
@ -366,6 +394,23 @@ int ssl_derive_keys( ssl_context *ssl )
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
case SSL_RSA_NULL_MD5:
|
||||
case SSL_RSA_NULL_SHA:
|
||||
case SSL_RSA_NULL_SHA256:
|
||||
break;
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
#if defined(POLARSSL_DES_C)
|
||||
case SSL_RSA_DES_SHA:
|
||||
case SSL_EDH_RSA_DES_SHA:
|
||||
des_setkey_enc( (des_context *) ssl->ctx_enc, key1 );
|
||||
des_setkey_dec( (des_context *) ssl->ctx_dec, key2 );
|
||||
break;
|
||||
#endif
|
||||
#endif /* defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES) */
|
||||
|
||||
default:
|
||||
return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
|
||||
}
|
||||
@ -521,7 +566,12 @@ static int ssl_encrypt_buf( ssl_context *ssl )
|
||||
if( ssl->maclen == 20 )
|
||||
sha1_hmac( ssl->mac_enc, 20,
|
||||
ssl->out_ctr, ssl->out_msglen + 13,
|
||||
ssl->out_msg + ssl->out_msglen );
|
||||
ssl->out_msg + ssl->out_msglen );
|
||||
|
||||
if( ssl->maclen == 32 )
|
||||
sha2_hmac( ssl->mac_enc, 32,
|
||||
ssl->out_ctr, ssl->out_msglen + 13,
|
||||
ssl->out_msg + ssl->out_msglen, 0);
|
||||
}
|
||||
|
||||
SSL_DEBUG_BUF( 4, "computed mac",
|
||||
@ -535,7 +585,6 @@ static int ssl_encrypt_buf( ssl_context *ssl )
|
||||
|
||||
if( ssl->ivlen == 0 )
|
||||
{
|
||||
#if defined(POLARSSL_ARC4_C)
|
||||
padlen = 0;
|
||||
|
||||
SSL_DEBUG_MSG( 3, ( "before encrypt: msglen = %d, "
|
||||
@ -545,12 +594,23 @@ static int ssl_encrypt_buf( ssl_context *ssl )
|
||||
SSL_DEBUG_BUF( 4, "before encrypt: output payload",
|
||||
ssl->out_msg, ssl->out_msglen );
|
||||
|
||||
arc4_crypt( (arc4_context *) ssl->ctx_enc,
|
||||
ssl->out_msglen, ssl->out_msg,
|
||||
ssl->out_msg );
|
||||
#else
|
||||
return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
|
||||
#if defined(POLARSSL_ARC4_C)
|
||||
if( ssl->session->ciphersuite == SSL_RSA_RC4_128_MD5 ||
|
||||
ssl->session->ciphersuite == SSL_RSA_RC4_128_SHA )
|
||||
{
|
||||
arc4_crypt( (arc4_context *) ssl->ctx_enc,
|
||||
ssl->out_msglen, ssl->out_msg,
|
||||
ssl->out_msg );
|
||||
} else
|
||||
#endif
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( ssl->session->ciphersuite == SSL_RSA_NULL_MD5 ||
|
||||
ssl->session->ciphersuite == SSL_RSA_NULL_SHA ||
|
||||
ssl->session->ciphersuite == SSL_RSA_NULL_SHA256 )
|
||||
{
|
||||
} else
|
||||
#endif
|
||||
return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -605,11 +665,21 @@ static int ssl_encrypt_buf( ssl_context *ssl )
|
||||
|
||||
switch( ssl->ivlen )
|
||||
{
|
||||
case 8:
|
||||
#if defined(POLARSSL_DES_C)
|
||||
des3_crypt_cbc( (des3_context *) ssl->ctx_enc,
|
||||
DES_ENCRYPT, enc_msglen,
|
||||
ssl->iv_enc, enc_msg, enc_msg );
|
||||
case 8:
|
||||
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
|
||||
if( ssl->session->ciphersuite == SSL_RSA_DES_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_DES_SHA )
|
||||
{
|
||||
des_crypt_cbc( (des_context *) ssl->ctx_enc,
|
||||
DES_ENCRYPT, enc_msglen,
|
||||
ssl->iv_enc, enc_msg, enc_msg );
|
||||
}
|
||||
else
|
||||
#endif
|
||||
des3_crypt_cbc( (des3_context *) ssl->ctx_enc,
|
||||
DES_ENCRYPT, enc_msglen,
|
||||
ssl->iv_enc, enc_msg, enc_msg );
|
||||
break;
|
||||
#endif
|
||||
|
||||
@ -650,10 +720,15 @@ static int ssl_encrypt_buf( ssl_context *ssl )
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: Use digest version when integrated!
|
||||
*/
|
||||
#define POLARSSL_SSL_MAX_MAC_SIZE 32
|
||||
|
||||
static int ssl_decrypt_buf( ssl_context *ssl )
|
||||
{
|
||||
size_t i, padlen;
|
||||
unsigned char tmp[20];
|
||||
unsigned char tmp[POLARSSL_SSL_MAX_MAC_SIZE];
|
||||
|
||||
SSL_DEBUG_MSG( 2, ( "=> decrypt buf" ) );
|
||||
|
||||
@ -668,12 +743,22 @@ static int ssl_decrypt_buf( ssl_context *ssl )
|
||||
{
|
||||
#if defined(POLARSSL_ARC4_C)
|
||||
padlen = 0;
|
||||
arc4_crypt( (arc4_context *) ssl->ctx_dec,
|
||||
if( ssl->session->ciphersuite == SSL_RSA_RC4_128_MD5 ||
|
||||
ssl->session->ciphersuite == SSL_RSA_RC4_128_SHA )
|
||||
{
|
||||
arc4_crypt( (arc4_context *) ssl->ctx_dec,
|
||||
ssl->in_msglen, ssl->in_msg,
|
||||
ssl->in_msg );
|
||||
#else
|
||||
return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
|
||||
} else
|
||||
#endif
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( ssl->session->ciphersuite == SSL_RSA_NULL_MD5 ||
|
||||
ssl->session->ciphersuite == SSL_RSA_NULL_SHA ||
|
||||
ssl->session->ciphersuite == SSL_RSA_NULL_SHA256 )
|
||||
{
|
||||
} else
|
||||
#endif
|
||||
return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -712,9 +797,19 @@ static int ssl_decrypt_buf( ssl_context *ssl )
|
||||
{
|
||||
#if defined(POLARSSL_DES_C)
|
||||
case 8:
|
||||
des3_crypt_cbc( (des3_context *) ssl->ctx_dec,
|
||||
DES_DECRYPT, dec_msglen,
|
||||
ssl->iv_dec, dec_msg, dec_msg_result );
|
||||
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
|
||||
if( ssl->session->ciphersuite == SSL_RSA_DES_SHA ||
|
||||
ssl->session->ciphersuite == SSL_EDH_RSA_DES_SHA )
|
||||
{
|
||||
des_crypt_cbc( (des_context *) ssl->ctx_dec,
|
||||
DES_DECRYPT, dec_msglen,
|
||||
ssl->iv_dec, dec_msg, dec_msg_result );
|
||||
}
|
||||
else
|
||||
#endif
|
||||
des3_crypt_cbc( (des3_context *) ssl->ctx_dec,
|
||||
DES_DECRYPT, dec_msglen,
|
||||
ssl->iv_dec, dec_msg, dec_msg_result );
|
||||
break;
|
||||
#endif
|
||||
|
||||
@ -790,7 +885,7 @@ static int ssl_decrypt_buf( ssl_context *ssl )
|
||||
ssl->in_hdr[3] = (unsigned char)( ssl->in_msglen >> 8 );
|
||||
ssl->in_hdr[4] = (unsigned char)( ssl->in_msglen );
|
||||
|
||||
memcpy( tmp, ssl->in_msg + ssl->in_msglen, 20 );
|
||||
memcpy( tmp, ssl->in_msg + ssl->in_msglen, POLARSSL_SSL_MAX_MAC_SIZE );
|
||||
|
||||
if( ssl->minor_ver == SSL_MINOR_VERSION_0 )
|
||||
{
|
||||
@ -798,7 +893,7 @@ static int ssl_decrypt_buf( ssl_context *ssl )
|
||||
ssl_mac_md5( ssl->mac_dec,
|
||||
ssl->in_msg, ssl->in_msglen,
|
||||
ssl->in_ctr, ssl->in_msgtype );
|
||||
else
|
||||
else if( ssl->maclen == 20 )
|
||||
ssl_mac_sha1( ssl->mac_dec,
|
||||
ssl->in_msg, ssl->in_msglen,
|
||||
ssl->in_ctr, ssl->in_msgtype );
|
||||
@ -809,10 +904,14 @@ static int ssl_decrypt_buf( ssl_context *ssl )
|
||||
md5_hmac( ssl->mac_dec, 16,
|
||||
ssl->in_ctr, ssl->in_msglen + 13,
|
||||
ssl->in_msg + ssl->in_msglen );
|
||||
else
|
||||
else if( ssl->maclen == 20 )
|
||||
sha1_hmac( ssl->mac_dec, 20,
|
||||
ssl->in_ctr, ssl->in_msglen + 13,
|
||||
ssl->in_msg + ssl->in_msglen );
|
||||
else if( ssl->maclen == 32 )
|
||||
sha2_hmac( ssl->mac_dec, 32,
|
||||
ssl->in_ctr, ssl->in_msglen + 13,
|
||||
ssl->in_msg + ssl->in_msglen, 0 );
|
||||
}
|
||||
|
||||
SSL_DEBUG_BUF( 4, "message mac", tmp, ssl->maclen );
|
||||
@ -1991,6 +2090,24 @@ const char *ssl_get_ciphersuite_name( const int ciphersuite_id )
|
||||
return( "SSL-EDH-RSA-CAMELLIA-256-SHA" );
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
case SSL_RSA_NULL_MD5:
|
||||
return( "SSL-RSA-NULL-MD5" );
|
||||
case SSL_RSA_NULL_SHA:
|
||||
return( "SSL-RSA-NULL-SHA" );
|
||||
case SSL_RSA_NULL_SHA256:
|
||||
return( "SSL-RSA-NULL-SHA256" );
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
#if defined(POLARSSL_DES_C)
|
||||
case SSL_RSA_DES_SHA:
|
||||
return( "SSL-RSA-DES-SHA" );
|
||||
case SSL_EDH_RSA_DES_SHA:
|
||||
return( "SSL-EDH-RSA-DES-SHA" );
|
||||
#endif
|
||||
#endif /* defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES) */
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -2036,6 +2153,24 @@ int ssl_get_ciphersuite_id( const char *ciphersuite_name )
|
||||
return( SSL_EDH_RSA_CAMELLIA_256_SHA );
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if (0 == strcasecmp(ciphersuite_name, "SSL-RSA-NULL-MD5"))
|
||||
return( SSL_RSA_NULL_MD5 );
|
||||
if (0 == strcasecmp(ciphersuite_name, "SSL-RSA-NULL-SHA"))
|
||||
return( SSL_RSA_NULL_SHA );
|
||||
if (0 == strcasecmp(ciphersuite_name, "SSL-RSA-NULL-SHA256"))
|
||||
return( SSL_RSA_NULL_SHA256 );
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
#if defined(POLARSSL_DES_C)
|
||||
if (0 == strcasecmp(ciphersuite_name, "SSL-RSA-DES-SHA"))
|
||||
return( SSL_RSA_DES_SHA );
|
||||
if (0 == strcasecmp(ciphersuite_name, "SSL-EDH-RSA-DES-SHA"))
|
||||
return( SSL_EDH_RSA_DES_SHA );
|
||||
#endif
|
||||
#endif /* defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES) */
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user