diff options
author | beck <> | 2024-02-03 15:58:34 +0000 |
---|---|---|
committer | beck <> | 2024-02-03 15:58:34 +0000 |
commit | feaf10d0a7eb5e59e69c058b10c91c45d2b1b0e3 (patch) | |
tree | dc1f0834366a35df8a6de61e2722798629d7c4c2 /src/lib/libssl/s3_lib.c | |
parent | a931b9fe4c471545a30c6975c303fa27abc695af (diff) | |
download | openbsd-feaf10d0a7eb5e59e69c058b10c91c45d2b1b0e3.tar.gz openbsd-feaf10d0a7eb5e59e69c058b10c91c45d2b1b0e3.tar.bz2 openbsd-feaf10d0a7eb5e59e69c058b10c91c45d2b1b0e3.zip |
Remove GOST and STREEBOG support from libssl.
This version of GOST is old and not anywhere close to compliant with
modern GOST standards. It is also very intrusive in libssl and
makes a mess everywhere. Efforts to entice a suitably minded anyone
to care about it have been unsuccessful.
At this point it is probably best to remove this, and if someone
ever showed up who truly needed a working version, it should be
a clean implementation from scratch, and have it use something
closer to the typical API in libcrypto so it would integrate less
painfully here.
This removes it from libssl in preparation for it's removal from
libcrypto with a future major bump
ok tb@
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 86 |
1 files changed, 1 insertions, 85 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 1ae2d047bc..bb8e9465ba 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.248 2023/11/29 13:39:34 tb Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.249 2024/02/03 15:58:33 beck 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 | * |
@@ -577,41 +577,6 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
577 | .alg_bits = 256, | 577 | .alg_bits = 256, |
578 | }, | 578 | }, |
579 | 579 | ||
580 | /* GOST Ciphersuites */ | ||
581 | |||
582 | /* Cipher 81 */ | ||
583 | { | ||
584 | .valid = 1, | ||
585 | .name = "GOST2001-GOST89-GOST89", | ||
586 | .id = 0x3000081, | ||
587 | .algorithm_mkey = SSL_kGOST, | ||
588 | .algorithm_auth = SSL_aGOST01, | ||
589 | .algorithm_enc = SSL_eGOST2814789CNT, | ||
590 | .algorithm_mac = SSL_GOST89MAC, | ||
591 | .algorithm_ssl = SSL_TLSV1, | ||
592 | .algo_strength = SSL_HIGH, | ||
593 | .algorithm2 = SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94| | ||
594 | TLS1_STREAM_MAC, | ||
595 | .strength_bits = 256, | ||
596 | .alg_bits = 256 | ||
597 | }, | ||
598 | |||
599 | /* Cipher 83 */ | ||
600 | { | ||
601 | .valid = 1, | ||
602 | .name = "GOST2001-NULL-GOST94", | ||
603 | .id = 0x3000083, | ||
604 | .algorithm_mkey = SSL_kGOST, | ||
605 | .algorithm_auth = SSL_aGOST01, | ||
606 | .algorithm_enc = SSL_eNULL, | ||
607 | .algorithm_mac = SSL_GOST94, | ||
608 | .algorithm_ssl = SSL_TLSV1, | ||
609 | .algo_strength = SSL_STRONG_NONE, | ||
610 | .algorithm2 = SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94, | ||
611 | .strength_bits = 0, | ||
612 | .alg_bits = 0 | ||
613 | }, | ||
614 | |||
615 | #ifndef OPENSSL_NO_CAMELLIA | 580 | #ifndef OPENSSL_NO_CAMELLIA |
616 | /* Camellia ciphersuites from RFC4132 (256-bit portion) */ | 581 | /* Camellia ciphersuites from RFC4132 (256-bit portion) */ |
617 | 582 | ||
@@ -1362,40 +1327,6 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1362 | .alg_bits = 256, | 1327 | .alg_bits = 256, |
1363 | }, | 1328 | }, |
1364 | 1329 | ||
1365 | /* Cipher FF85 FIXME IANA */ | ||
1366 | { | ||
1367 | .valid = 1, | ||
1368 | .name = "GOST2012256-GOST89-GOST89", | ||
1369 | .id = 0x300ff85, /* FIXME IANA */ | ||
1370 | .algorithm_mkey = SSL_kGOST, | ||
1371 | .algorithm_auth = SSL_aGOST01, | ||
1372 | .algorithm_enc = SSL_eGOST2814789CNT, | ||
1373 | .algorithm_mac = SSL_GOST89MAC, | ||
1374 | .algorithm_ssl = SSL_TLSV1, | ||
1375 | .algo_strength = SSL_HIGH, | ||
1376 | .algorithm2 = SSL_HANDSHAKE_MAC_STREEBOG256|TLS1_PRF_STREEBOG256| | ||
1377 | TLS1_STREAM_MAC, | ||
1378 | .strength_bits = 256, | ||
1379 | .alg_bits = 256 | ||
1380 | }, | ||
1381 | |||
1382 | /* Cipher FF87 FIXME IANA */ | ||
1383 | { | ||
1384 | .valid = 1, | ||
1385 | .name = "GOST2012256-NULL-STREEBOG256", | ||
1386 | .id = 0x300ff87, /* FIXME IANA */ | ||
1387 | .algorithm_mkey = SSL_kGOST, | ||
1388 | .algorithm_auth = SSL_aGOST01, | ||
1389 | .algorithm_enc = SSL_eNULL, | ||
1390 | .algorithm_mac = SSL_STREEBOG256, | ||
1391 | .algorithm_ssl = SSL_TLSV1, | ||
1392 | .algo_strength = SSL_STRONG_NONE, | ||
1393 | .algorithm2 = SSL_HANDSHAKE_MAC_STREEBOG256|TLS1_PRF_STREEBOG256, | ||
1394 | .strength_bits = 0, | ||
1395 | .alg_bits = 0 | ||
1396 | }, | ||
1397 | |||
1398 | |||
1399 | /* end of list */ | 1330 | /* end of list */ |
1400 | }; | 1331 | }; |
1401 | 1332 | ||
@@ -2668,21 +2599,6 @@ ssl3_get_req_cert_types(SSL *s, CBB *cbb) | |||
2668 | 2599 | ||
2669 | alg_k = s->s3->hs.cipher->algorithm_mkey; | 2600 | alg_k = s->s3->hs.cipher->algorithm_mkey; |
2670 | 2601 | ||
2671 | #ifndef OPENSSL_NO_GOST | ||
2672 | if ((alg_k & SSL_kGOST) != 0) { | ||
2673 | if (!CBB_add_u8(cbb, TLS_CT_GOST01_SIGN)) | ||
2674 | return 0; | ||
2675 | if (!CBB_add_u8(cbb, TLS_CT_GOST12_256_SIGN)) | ||
2676 | return 0; | ||
2677 | if (!CBB_add_u8(cbb, TLS_CT_GOST12_512_SIGN)) | ||
2678 | return 0; | ||
2679 | if (!CBB_add_u8(cbb, TLS_CT_GOST12_256_SIGN_COMPAT)) | ||
2680 | return 0; | ||
2681 | if (!CBB_add_u8(cbb, TLS_CT_GOST12_512_SIGN_COMPAT)) | ||
2682 | return 0; | ||
2683 | } | ||
2684 | #endif | ||
2685 | |||
2686 | if ((alg_k & SSL_kDHE) != 0) { | 2602 | if ((alg_k & SSL_kDHE) != 0) { |
2687 | if (!CBB_add_u8(cbb, SSL3_CT_RSA_FIXED_DH)) | 2603 | if (!CBB_add_u8(cbb, SSL3_CT_RSA_FIXED_DH)) |
2688 | return 0; | 2604 | return 0; |