| Index: openssl/ssl/s3_lib.c
|
| diff --git a/openssl/ssl/s3_lib.c b/openssl/ssl/s3_lib.c
|
| index a71d05a7e17af4842a5710951ad3842ed99e06be..605979bb80a8380ddf2cb0c1aee47330ba27d765 100644
|
| --- a/openssl/ssl/s3_lib.c
|
| +++ b/openssl/ssl/s3_lib.c
|
| @@ -166,6 +166,11 @@ const char ssl3_version_str[]="SSLv3" OPENSSL_VERSION_PTEXT;
|
|
|
| #define SSL3_NUM_CIPHERS (sizeof(ssl3_ciphers)/sizeof(SSL_CIPHER))
|
|
|
| +/* FIXED_NONCE_LEN is a macro that results in the correct value to set the
|
| + * fixed nonce length in SSL_CIPHER.algorithms2. It's the inverse of
|
| + * SSL_CIPHER_AEAD_FIXED_NONCE_LEN. */
|
| +#define FIXED_NONCE_LEN(x) ((x/2)<<24)
|
| +
|
| /* list of available SSLv3 ciphers (sorted by id) */
|
| OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
|
|
| @@ -1836,7 +1841,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -1868,7 +1874,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -1900,7 +1907,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -1932,7 +1940,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -1964,7 +1973,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -1996,7 +2006,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -2709,7 +2720,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -2741,7 +2753,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -2773,7 +2786,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -2805,7 +2819,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| SSL_AEAD,
|
| SSL_TLSV1_2,
|
| SSL_NOT_EXP|SSL_HIGH|SSL_FIPS,
|
| - SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(4)|
|
| + SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_INCLUDED_IN_RECORD,
|
| 128,
|
| 128,
|
| },
|
| @@ -2889,6 +2904,51 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
|
| },
|
| #endif
|
|
|
| + {
|
| + 1,
|
| + TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305,
|
| + TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305,
|
| + SSL_kEECDH,
|
| + SSL_aRSA,
|
| + SSL_CHACHA20POLY1305,
|
| + SSL_AEAD,
|
| + SSL_TLSV1_2,
|
| + SSL_NOT_EXP|SSL_HIGH,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
|
| + 256,
|
| + 0,
|
| + },
|
| +
|
| + {
|
| + 1,
|
| + TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
|
| + TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305,
|
| + SSL_kEECDH,
|
| + SSL_aECDSA,
|
| + SSL_CHACHA20POLY1305,
|
| + SSL_AEAD,
|
| + SSL_TLSV1_2,
|
| + SSL_NOT_EXP|SSL_HIGH,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
|
| + 256,
|
| + 0,
|
| + },
|
| +
|
| + {
|
| + 1,
|
| + TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305,
|
| + TLS1_CK_DHE_RSA_CHACHA20_POLY1305,
|
| + SSL_kEDH,
|
| + SSL_aRSA,
|
| + SSL_CHACHA20POLY1305,
|
| + SSL_AEAD,
|
| + SSL_TLSV1_2,
|
| + SSL_NOT_EXP|SSL_HIGH,
|
| + SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
|
| + 256,
|
| + 0,
|
| + },
|
| +
|
| /* end of list */
|
| };
|
|
|
|
|