Skip to content

Commit c768f76

Browse files
Merge pull request #7315 from fabiankeil/disable-3des-ciphers
Allow to enable DES3 support without the DES3 ciphers
2 parents 75da699 + 790129e commit c768f76

3 files changed

Lines changed: 28 additions & 3 deletions

File tree

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,6 +1216,14 @@ if(WOLFSSL_OPENSSH OR
12161216
override_cache(WOLFSSL_DES3 "yes")
12171217
endif()
12181218

1219+
# DES3 TLS Suites
1220+
set(WOLFSSL_DES3_TLS_SUITES_STRING "Enable DES3 TLS cipher suites (default: disabled)")
1221+
add_option("WOLFSSL_DES3_TLS_SUITES" ${WOLFSSL_DES3_TLS_SUITES_STRING} "no" "yes;no")
1222+
1223+
if(NOT WOLFSSL_DES3_TLS_SUITES)
1224+
list(APPEND WOLFSSL_DEFINITIONS "-DNO_DES3_TLS_SUITES")
1225+
endif()
1226+
12191227
# ARC4
12201228
set(WOLFSSL_ARC4_HELP_STRING "Enable ARC4 (default: disabled)")
12211229
add_option("WOLFSSL_ARC4" ${WOLFSSL_ARC4_HELP_STRING} "no" "yes;no")

configure.ac

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4805,6 +4805,13 @@ then
48054805
ENABLED_DES3="yes"
48064806
fi
48074807

4808+
# DES3 TLS suites
4809+
AC_ARG_ENABLE([des3-tls-suites],
4810+
[AS_HELP_STRING([--enable-des3-tls-suites],[Enable DES3 TLS cipher suites (default: disabled)])],
4811+
[ ENABLED_DES3_TLS_SUITES=$enableval ],
4812+
[ ENABLED_DES3_TLS_SUITES=no ]
4813+
)
4814+
48084815
# ARC4
48094816
if (test "$ENABLED_OPENSSH" = "yes" && test "x$ENABLED_FIPS" = "xno") || \
48104817
test "$ENABLED_WPAS" = "yes" || test "$ENABLED_KRB" = "yes"
@@ -8718,6 +8725,14 @@ else
87188725
fi
87198726
fi
87208727

8728+
if test "x$ENABLED_DES3_TLS_SUITES" = "xno"
8729+
then
8730+
AM_CFLAGS="$AM_CFLAGS -DNO_DES3_TLS_SUITES"
8731+
else
8732+
AS_IF([test "x$ENABLED_DES3" = "xno"],
8733+
[AC_MSG_ERROR([DES3 TLS suites require DES3])])
8734+
fi
8735+
87218736
if test "$ENABLED_AESGCM" != "no"
87228737
then
87238738
if test "$ENABLED_AESGCM" = "word"
@@ -9521,6 +9536,7 @@ echo " * AES-EAX: $ENABLED_AESEAX"
95219536
echo " * AES Bitspliced: $ENABLED_AESBS"
95229537
echo " * ARIA: $ENABLED_ARIA"
95239538
echo " * DES3: $ENABLED_DES3"
9539+
echo " * DES3 TLS Suites: $ENABLED_DES3_TLS_SUITES"
95249540
echo " * Camellia: $ENABLED_CAMELLIA"
95259541
echo " * SM4-ECB: $ENABLED_SM4_ECB"
95269542
echo " * SM4-CBC: $ENABLED_SM4_CBC"

wolfssl/internal.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@
343343
#endif
344344
#endif
345345

346-
#if !defined(NO_RSA) && !defined(NO_DES3)
346+
#if !defined(NO_RSA) && !defined(NO_DES3) && !defined(NO_DES3_TLS_SUITES)
347347
#if !defined(NO_SHA)
348348
#if defined(WOLFSSL_STATIC_RSA)
349349
#define BUILD_SSL_RSA_WITH_3DES_EDE_CBC_SHA
@@ -500,7 +500,7 @@
500500
#if defined(WOLFSSL_AES_256) && defined(HAVE_AES_CBC)
501501
#define BUILD_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
502502
#endif
503-
#if !defined(NO_DES3)
503+
#if !defined(NO_DES3) && !defined(NO_DES3_TLS_SUITES)
504504
#define BUILD_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
505505
#endif
506506
#endif
@@ -686,7 +686,8 @@
686686
#endif
687687
#endif
688688
#if !defined(NO_DES3) && !(defined(WSSL_HARDEN_TLS) && \
689-
WSSL_HARDEN_TLS > 112)
689+
WSSL_HARDEN_TLS > 112) && \
690+
!defined(NO_DES3_TLS_SUITES)
690691
/* 3DES offers only 112 bits of security.
691692
* Using guidance from section 5.6.1
692693
* https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf */

0 commit comments

Comments
 (0)