diff options
| author | jsing <> | 2017-08-28 16:37:04 +0000 |
|---|---|---|
| committer | jsing <> | 2017-08-28 16:37:04 +0000 |
| commit | c20a2892c2ce985dc024cdeec20081a3d0b209ad (patch) | |
| tree | 7a497786c0d665cfdd18ae5f1a51814d2866dc5d | |
| parent | 7275129f0e25ffdd4691d2997ddb0564fba49080 (diff) | |
| download | openbsd-c20a2892c2ce985dc024cdeec20081a3d0b209ad.tar.gz openbsd-c20a2892c2ce985dc024cdeec20081a3d0b209ad.tar.bz2 openbsd-c20a2892c2ce985dc024cdeec20081a3d0b209ad.zip | |
Remove the original (pre-IETF) chacha20-poly1305 cipher suites.
Support for the IETF standardised chacha20-poly1305 cipher suites was
added 16 months ago, which means they exist in both of the currently
supported OpenBSD releases.
Also prompted by Andreas Bartelt <obsd at bartula dot de>.
ok beck@ doug@
| -rw-r--r-- | src/lib/libssl/s3_lib.c | 53 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_ciph.c | 14 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_locl.h | 3 | ||||
| -rw-r--r-- | src/lib/libssl/tls1.h | 8 |
4 files changed, 5 insertions, 73 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index acbe30d804..bbf0444c21 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_lib.c,v 1.158 2017/08/12 21:03:08 jsing Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.159 2017/08/28 16:37:04 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -1299,57 +1299,6 @@ SSL_CIPHER ssl3_ciphers[] = { | |||
| 1299 | .alg_bits = 256, | 1299 | .alg_bits = 256, |
| 1300 | }, | 1300 | }, |
| 1301 | 1301 | ||
| 1302 | /* Cipher CC13 */ | ||
| 1303 | { | ||
| 1304 | .valid = 1, | ||
| 1305 | .name = TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_OLD, | ||
| 1306 | .id = TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305_OLD, | ||
| 1307 | .algorithm_mkey = SSL_kECDHE, | ||
| 1308 | .algorithm_auth = SSL_aRSA, | ||
| 1309 | .algorithm_enc = SSL_CHACHA20POLY1305_OLD, | ||
| 1310 | .algorithm_mac = SSL_AEAD, | ||
| 1311 | .algorithm_ssl = SSL_TLSV1_2, | ||
| 1312 | .algo_strength = SSL_HIGH, | ||
| 1313 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | ||
| 1314 | SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0), | ||
| 1315 | .strength_bits = 256, | ||
| 1316 | .alg_bits = 256, | ||
| 1317 | }, | ||
| 1318 | |||
| 1319 | /* Cipher CC14 */ | ||
| 1320 | { | ||
| 1321 | .valid = 1, | ||
| 1322 | .name = TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_OLD, | ||
| 1323 | .id = TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305_OLD, | ||
| 1324 | .algorithm_mkey = SSL_kECDHE, | ||
| 1325 | .algorithm_auth = SSL_aECDSA, | ||
| 1326 | .algorithm_enc = SSL_CHACHA20POLY1305_OLD, | ||
| 1327 | .algorithm_mac = SSL_AEAD, | ||
| 1328 | .algorithm_ssl = SSL_TLSV1_2, | ||
| 1329 | .algo_strength = SSL_HIGH, | ||
| 1330 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | ||
| 1331 | SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0), | ||
| 1332 | .strength_bits = 256, | ||
| 1333 | .alg_bits = 256, | ||
| 1334 | }, | ||
| 1335 | |||
| 1336 | /* Cipher CC15 */ | ||
| 1337 | { | ||
| 1338 | .valid = 1, | ||
| 1339 | .name = TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305_OLD, | ||
| 1340 | .id = TLS1_CK_DHE_RSA_CHACHA20_POLY1305_OLD, | ||
| 1341 | .algorithm_mkey = SSL_kDHE, | ||
| 1342 | .algorithm_auth = SSL_aRSA, | ||
| 1343 | .algorithm_enc = SSL_CHACHA20POLY1305_OLD, | ||
| 1344 | .algorithm_mac = SSL_AEAD, | ||
| 1345 | .algorithm_ssl = SSL_TLSV1_2, | ||
| 1346 | .algo_strength = SSL_HIGH, | ||
| 1347 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | ||
| 1348 | SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0), | ||
| 1349 | .strength_bits = 256, | ||
| 1350 | .alg_bits = 256, | ||
| 1351 | }, | ||
| 1352 | |||
| 1353 | /* Cipher CCA8 */ | 1302 | /* Cipher CCA8 */ |
| 1354 | { | 1303 | { |
| 1355 | .valid = 1, | 1304 | .valid = 1, |
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c index 49af292d6c..f30ffeaf2c 100644 --- a/src/lib/libssl/ssl_ciph.c +++ b/src/lib/libssl/ssl_ciph.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_ciph.c,v 1.96 2017/03/10 16:03:27 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_ciph.c,v 1.97 2017/08/28 16:37:04 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -388,7 +388,7 @@ static const SSL_CIPHER cipher_aliases[] = { | |||
| 388 | }, | 388 | }, |
| 389 | { | 389 | { |
| 390 | .name = SSL_TXT_CHACHA20, | 390 | .name = SSL_TXT_CHACHA20, |
| 391 | .algorithm_enc = SSL_CHACHA20POLY1305|SSL_CHACHA20POLY1305_OLD, | 391 | .algorithm_enc = SSL_CHACHA20POLY1305, |
| 392 | }, | 392 | }, |
| 393 | 393 | ||
| 394 | /* MAC aliases */ | 394 | /* MAC aliases */ |
| @@ -690,9 +690,6 @@ ssl_cipher_get_evp_aead(const SSL_SESSION *s, const EVP_AEAD **aead) | |||
| 690 | case SSL_CHACHA20POLY1305: | 690 | case SSL_CHACHA20POLY1305: |
| 691 | *aead = EVP_aead_chacha20_poly1305(); | 691 | *aead = EVP_aead_chacha20_poly1305(); |
| 692 | return 1; | 692 | return 1; |
| 693 | case SSL_CHACHA20POLY1305_OLD: | ||
| 694 | *aead = EVP_aead_chacha20_poly1305_old(); | ||
| 695 | return 1; | ||
| 696 | default: | 693 | default: |
| 697 | break; | 694 | break; |
| 698 | } | 695 | } |
| @@ -1394,8 +1391,6 @@ ssl_create_cipher_list(const SSL_METHOD *ssl_method, | |||
| 1394 | CIPHER_ADD, -1, &head, &tail); | 1391 | CIPHER_ADD, -1, &head, &tail); |
| 1395 | ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305, | 1392 | ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305, |
| 1396 | 0, 0, 0, CIPHER_ADD, -1, &head, &tail); | 1393 | 0, 0, 0, CIPHER_ADD, -1, &head, &tail); |
| 1397 | ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305_OLD, | ||
| 1398 | 0, 0, 0, CIPHER_ADD, -1, &head, &tail); | ||
| 1399 | } else { | 1394 | } else { |
| 1400 | /* | 1395 | /* |
| 1401 | * CHACHA20 is fast and safe on all hardware and is thus our | 1396 | * CHACHA20 is fast and safe on all hardware and is thus our |
| @@ -1403,8 +1398,6 @@ ssl_create_cipher_list(const SSL_METHOD *ssl_method, | |||
| 1403 | */ | 1398 | */ |
| 1404 | ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305, | 1399 | ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305, |
| 1405 | 0, 0, 0, CIPHER_ADD, -1, &head, &tail); | 1400 | 0, 0, 0, CIPHER_ADD, -1, &head, &tail); |
| 1406 | ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305_OLD, | ||
| 1407 | 0, 0, 0, CIPHER_ADD, -1, &head, &tail); | ||
| 1408 | ssl_cipher_apply_rule(0, 0, 0, SSL_AES, 0, 0, 0, | 1401 | ssl_cipher_apply_rule(0, 0, 0, SSL_AES, 0, 0, 0, |
| 1409 | CIPHER_ADD, -1, &head, &tail); | 1402 | CIPHER_ADD, -1, &head, &tail); |
| 1410 | } | 1403 | } |
| @@ -1628,9 +1621,6 @@ SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len) | |||
| 1628 | case SSL_CHACHA20POLY1305: | 1621 | case SSL_CHACHA20POLY1305: |
| 1629 | enc = "ChaCha20-Poly1305"; | 1622 | enc = "ChaCha20-Poly1305"; |
| 1630 | break; | 1623 | break; |
| 1631 | case SSL_CHACHA20POLY1305_OLD: | ||
| 1632 | enc = "ChaCha20-Poly1305-Old"; | ||
| 1633 | break; | ||
| 1634 | case SSL_eGOST2814789CNT: | 1624 | case SSL_eGOST2814789CNT: |
| 1635 | enc = "GOST-28178-89-CNT"; | 1625 | enc = "GOST-28178-89-CNT"; |
| 1636 | break; | 1626 | break; |
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index e789a4ae27..17a4a0d4f6 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_locl.h,v 1.192 2017/08/27 02:58:04 doug Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.193 2017/08/28 16:37:04 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -233,7 +233,6 @@ __BEGIN_HIDDEN_DECLS | |||
| 233 | #define SSL_AES128GCM 0x00000400L | 233 | #define SSL_AES128GCM 0x00000400L |
| 234 | #define SSL_AES256GCM 0x00000800L | 234 | #define SSL_AES256GCM 0x00000800L |
| 235 | #define SSL_CHACHA20POLY1305 0x00001000L | 235 | #define SSL_CHACHA20POLY1305 0x00001000L |
| 236 | #define SSL_CHACHA20POLY1305_OLD 0x00002000L | ||
| 237 | 236 | ||
| 238 | #define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM) | 237 | #define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM) |
| 239 | #define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256) | 238 | #define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256) |
diff --git a/src/lib/libssl/tls1.h b/src/lib/libssl/tls1.h index d06a1969b1..3cf778020b 100644 --- a/src/lib/libssl/tls1.h +++ b/src/lib/libssl/tls1.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls1.h,v 1.29 2017/03/25 14:15:11 jsing Exp $ */ | 1 | /* $OpenBSD: tls1.h,v 1.30 2017/08/28 16:37:04 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -534,9 +534,6 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) | |||
| 534 | #define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 | 534 | #define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 |
| 535 | 535 | ||
| 536 | /* ChaCha20-Poly1305 based ciphersuites. */ | 536 | /* ChaCha20-Poly1305 based ciphersuites. */ |
| 537 | #define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305_OLD 0x0300CC13 | ||
| 538 | #define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305_OLD 0x0300CC14 | ||
| 539 | #define TLS1_CK_DHE_RSA_CHACHA20_POLY1305_OLD 0x0300CC15 | ||
| 540 | #define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305 0x0300CCA8 | 537 | #define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305 0x0300CCA8 |
| 541 | #define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305 0x0300CCA9 | 538 | #define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305 0x0300CCA9 |
| 542 | #define TLS1_CK_DHE_RSA_CHACHA20_POLY1305 0x0300CCAA | 539 | #define TLS1_CK_DHE_RSA_CHACHA20_POLY1305 0x0300CCAA |
| @@ -701,9 +698,6 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) | |||
| 701 | #define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" | 698 | #define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" |
| 702 | 699 | ||
| 703 | /* ChaCha20-Poly1305 based ciphersuites. */ | 700 | /* ChaCha20-Poly1305 based ciphersuites. */ |
| 704 | #define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_OLD "ECDHE-RSA-CHACHA20-POLY1305-OLD" | ||
| 705 | #define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_OLD "ECDHE-ECDSA-CHACHA20-POLY1305-OLD" | ||
| 706 | #define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305_OLD "DHE-RSA-CHACHA20-POLY1305-OLD" | ||
| 707 | #define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" | 701 | #define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" |
| 708 | #define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" | 702 | #define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" |
| 709 | #define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" | 703 | #define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" |
