summaryrefslogtreecommitdiff
path: root/lib/libssl/s3_lib.c
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2014-06-13 13:28:54 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2014-06-13 13:28:54 +0000
commit2b76cb1a077e88500241ab498de2cd8aa10ffd00 (patch)
treed876e21beb7b621748f4a58493a96ed4d139fe4a /lib/libssl/s3_lib.c
parent7c5f9d85e6bc5869e5c44a8d26f68a7ea82f385e (diff)
Add ChaCha20-Poly1305 based ciphersuites.
Based on Adam Langley's chromium patches. Tested by and ok sthen@
Diffstat (limited to 'lib/libssl/s3_lib.c')
-rw-r--r--lib/libssl/s3_lib.c53
1 files changed, 52 insertions, 1 deletions
diff --git a/lib/libssl/s3_lib.c b/lib/libssl/s3_lib.c
index 939557e48ee..fa7df59779c 100644
--- a/lib/libssl/s3_lib.c
+++ b/lib/libssl/s3_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s3_lib.c,v 1.60 2014/06/13 13:21:09 jsing Exp $ */
+/* $OpenBSD: s3_lib.c,v 1.61 2014/06/13 13:28:53 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -2287,6 +2287,57 @@ SSL_CIPHER ssl3_ciphers[] = {
.alg_bits = 256
},
#endif
+
+#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
+ {
+ .valid = 1,
+ .name = TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305,
+ .id = TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305,
+ .algorithm_mkey = SSL_kEECDH,
+ .algorithm_auth = SSL_aRSA,
+ .algorithm_enc = SSL_CHACHA20POLY1305,
+ .algorithm_mac = SSL_AEAD,
+ .algorithm_ssl = SSL_TLSV1_2,
+ .algo_strength = SSL_NOT_EXP|SSL_HIGH,
+ .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|
+ SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
+ .strength_bits = 256,
+ .alg_bits = 0,
+ },
+
+ {
+ .valid = 1,
+ .name = TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
+ .id = TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305,
+ .algorithm_mkey = SSL_kEECDH,
+ .algorithm_auth = SSL_aECDSA,
+ .algorithm_enc = SSL_CHACHA20POLY1305,
+ .algorithm_mac = SSL_AEAD,
+ .algorithm_ssl = SSL_TLSV1_2,
+ .algo_strength = SSL_NOT_EXP|SSL_HIGH,
+ .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|
+ SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
+ .strength_bits = 256,
+ .alg_bits = 0,
+ },
+
+ {
+ .valid = 1,
+ .name = TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305,
+ .id = TLS1_CK_DHE_RSA_CHACHA20_POLY1305,
+ .algorithm_mkey = SSL_kEDH,
+ .algorithm_auth = SSL_aRSA,
+ .algorithm_enc = SSL_CHACHA20POLY1305,
+ .algorithm_mac = SSL_AEAD,
+ .algorithm_ssl = SSL_TLSV1_2,
+ .algo_strength = SSL_NOT_EXP|SSL_HIGH,
+ .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|
+ SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
+ .strength_bits = 256,
+ .alg_bits = 0,
+ },
+#endif
+
/* end of list */
};