From: Nikos Mavrogiannopoulos Date: Mon, 21 Oct 2013 20:18:47 +0000 (+0200) Subject: Added more ciphersuites from RFC5487. X-Git-Tag: gnutls_3_2_5~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d57475d8952103cc9a8b2b97a0d070bcdedd6aa6;p=thirdparty%2Fgnutls.git Added more ciphersuites from RFC5487. Added GNUTLS_PSK_AES_256_CBC_SHA384, GNUTLS_PSK_NULL_SHA384, GNUTLS_DHE_PSK_AES_256_CBC_SHA384, GNUTLS_DHE_PSK_NULL_SHA384, GNUTLS_RSA_PSK_AES_128_GCM_SHA256, GNUTLS_RSA_PSK_AES_256_GCM_SHA384, GNUTLS_RSA_PSK_AES_128_CBC_SHA256, GNUTLS_RSA_PSK_AES_256_CBC_SHA384, GNUTLS_RSA_PSK_NULL_SHA256, GNUTLS_RSA_PSK_NULL_SHA384. --- diff --git a/lib/algorithms/ciphersuites.c b/lib/algorithms/ciphersuites.c index e3b0e19bec..9dbeb06656 100644 --- a/lib/algorithms/ciphersuites.c +++ b/lib/algorithms/ciphersuites.c @@ -176,6 +176,19 @@ typedef struct #define GNUTLS_PSK_WITH_AES_256_GCM_SHA384 { 0x00, 0xA9 } #define GNUTLS_DHE_PSK_WITH_AES_256_GCM_SHA384 { 0x00, 0xAB } +#define GNUTLS_PSK_AES_256_CBC_SHA384 { 0x00,0xAF } +#define GNUTLS_PSK_NULL_SHA384 { 0x00,0xB1 } +#define GNUTLS_DHE_PSK_AES_256_CBC_SHA384 { 0x00,0xB3 } +#define GNUTLS_DHE_PSK_NULL_SHA384 { 0x00,0xB5 } + +#define GNUTLS_RSA_PSK_AES_128_GCM_SHA256 { 0x00,0xAC } +#define GNUTLS_RSA_PSK_AES_256_GCM_SHA384 { 0x00,0xAD } +#define GNUTLS_RSA_PSK_AES_128_CBC_SHA256 { 0x00,0xB6 } +#define GNUTLS_RSA_PSK_AES_256_CBC_SHA384 { 0x00,0xB7 } +#define GNUTLS_RSA_PSK_NULL_SHA256 { 0x00,0xB8 } +#define GNUTLS_RSA_PSK_NULL_SHA384 { 0x00,0xB9 } + + /* PSK - SHA256 HMAC */ #define GNUTLS_PSK_AES_128_CBC_SHA256 { 0x00, 0xAE } #define GNUTLS_DHE_PSK_AES_128_CBC_SHA256 { 0x00, 0xB2 } @@ -630,6 +643,14 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = { GNUTLS_CIPHER_ESTREAM_SALSA20_256, GNUTLS_KX_PSK, GNUTLS_MAC_UMAC_96, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN), + ENTRY_PRF(GNUTLS_PSK_AES_256_CBC_SHA384, + GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_PSK, + GNUTLS_MAC_SHA384, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN, GNUTLS_DIG_SHA384), + ENTRY_PRF(GNUTLS_PSK_NULL_SHA384, + GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK, + GNUTLS_MAC_SHA384, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN, GNUTLS_DIG_SHA384), /* RSA-PSK */ ENTRY (GNUTLS_RSA_PSK_SHA_ARCFOUR_SHA1, @@ -648,6 +669,30 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = { GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA1, GNUTLS_TLS1, GNUTLS_DTLS_VERSION_MIN), + ENTRY (GNUTLS_RSA_PSK_AES_128_GCM_SHA256, + GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_RSA_PSK, + GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, + GNUTLS_DTLS1_2), + ENTRY (GNUTLS_RSA_PSK_AES_128_CBC_SHA256, + GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA_PSK, + GNUTLS_MAC_SHA256, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN), + ENTRY (GNUTLS_RSA_PSK_NULL_SHA256, + GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK, + GNUTLS_MAC_SHA256, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN), + ENTRY_PRF (GNUTLS_RSA_PSK_AES_256_GCM_SHA384, + GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_RSA_PSK, + GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, + GNUTLS_DTLS1_2, GNUTLS_DIG_SHA384), + ENTRY_PRF (GNUTLS_RSA_PSK_AES_256_CBC_SHA384, + GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA_PSK, + GNUTLS_MAC_SHA384, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN, GNUTLS_DIG_SHA384), + ENTRY_PRF (GNUTLS_RSA_PSK_NULL_SHA384, + GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK, + GNUTLS_MAC_SHA384, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN, GNUTLS_DIG_SHA384), /* DHE-PSK */ ENTRY (GNUTLS_DHE_PSK_SHA_ARCFOUR_SHA1, @@ -678,6 +723,14 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = { GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2), + ENTRY_PRF(GNUTLS_DHE_PSK_NULL_SHA384, + GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK, + GNUTLS_MAC_SHA384, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN, GNUTLS_DIG_SHA384), + ENTRY_PRF(GNUTLS_DHE_PSK_AES_256_CBC_SHA384, + GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_PSK, + GNUTLS_MAC_SHA384, GNUTLS_SSL3, + GNUTLS_DTLS_VERSION_MIN, GNUTLS_DIG_SHA384), ENTRY_PRF(GNUTLS_PSK_WITH_AES_256_GCM_SHA384, GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_PSK,