summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2013-10-21 21:59:21 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2013-10-21 21:59:21 +0200
commitd3e4b9a3d0dd36e825bb5dfef534215c0c82b622 (patch)
tree7d43bdace366bfd27cb4c117472fc3ce109f5863
parent44bcf8e2e8934c3c7ec58dd42414a05af342d8ae (diff)
downloadgnutls-d3e4b9a3d0dd36e825bb5dfef534215c0c82b622.tar.gz
Added new ciphersuites from RFC5288.
Added GNUTLS_RSA_AES_256_GCM_SHA384, GNUTLS_DHE_RSA_AES_256_GCM_SHA384, GNUTLS_DHE_DSS_AES_256_GCM_SHA384 and GNUTLS_DH_ANON_AES_256_GCM_SHA384.
-rw-r--r--lib/algorithms/ciphersuites.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/algorithms/ciphersuites.c b/lib/algorithms/ciphersuites.c
index b82eae6566..e3b0e19bec 100644
--- a/lib/algorithms/ciphersuites.c
+++ b/lib/algorithms/ciphersuites.c
@@ -163,6 +163,11 @@ typedef struct
#define GNUTLS_DHE_RSA_AES_128_GCM_SHA256 {0x00,0x9E}
#define GNUTLS_DHE_DSS_AES_128_GCM_SHA256 {0x00,0xA2}
#define GNUTLS_DH_ANON_AES_128_GCM_SHA256 {0x00,0xA6}
+#define GNUTLS_RSA_AES_256_GCM_SHA384 { 0x00, 0x9D }
+#define GNUTLS_DHE_RSA_AES_256_GCM_SHA384 {0x00,0x9F}
+#define GNUTLS_DHE_DSS_AES_256_GCM_SHA384 {0x00,0xA3}
+#define GNUTLS_DH_ANON_AES_256_GCM_SHA384 {0x00,0xA7}
+
/* RFC 5487 */
/* GCM-PSK */
@@ -307,6 +312,11 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = {
GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_RSA,
GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
+ ENTRY_PRF(GNUTLS_RSA_AES_256_GCM_SHA384,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_RSA,
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ GNUTLS_DTLS1_2, GNUTLS_DIG_SHA384),
+
/* Salsa20 */
ENTRY (GNUTLS_RSA_WITH_SALSA20_256_SHA1,
GNUTLS_CIPHER_SALSA20_256, GNUTLS_KX_RSA,
@@ -362,6 +372,11 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = {
GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_DSS,
GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
+ ENTRY_PRF(GNUTLS_DHE_DSS_AES_256_GCM_SHA384,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_DSS,
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ GNUTLS_DTLS1_2, GNUTLS_DIG_SHA384),
+
/* DHE_RSA */
ENTRY (GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1,
GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_RSA,
@@ -401,6 +416,10 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = {
GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_DSS,
GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
+ ENTRY_PRF(GNUTLS_DHE_RSA_AES_256_GCM_SHA384,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_RSA,
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ GNUTLS_DTLS1_2, GNUTLS_DIG_SHA384),
#endif /* DHE */
#ifdef ENABLE_ECDHE
/* ECC-RSA */
@@ -709,6 +728,11 @@ static const gnutls_cipher_suite_entry cs_algorithms[] = {
GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ANON_DH,
GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
+ ENTRY_PRF(GNUTLS_DH_ANON_AES_256_GCM_SHA384,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_ANON_DH,
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ GNUTLS_DTLS1_2, GNUTLS_DIG_SHA384),
+
/* ECC-ANON */
ENTRY (GNUTLS_ECDH_ANON_NULL_SHA1,
GNUTLS_CIPHER_NULL, GNUTLS_KX_ANON_ECDH,