You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While in 3.2 there was only a hint how to deal with TLS 1.3 only hosts, a restart
with --openssl=/usr/bin/openssl or setting of OSSL_SHORTCUT-true was required.
This PR changes the behavior: if an openssl version can be found in /usr/bin/openssl
(or SUPPLIED via OPENSSL2=/home/version/ofopenssl testssl <cmdline>) which
supports TLS 1.3 it switches automatically and informs the user that it has done so.
This message is asynchonous and is implemented with a new function check_msg()
and a global OPEN_MSG, so that we maintain the formatting. Otherwise it would have
appeared between rDNS and service detection. Now it's nicely after service detection.
Copy file name to clipboardExpand all lines: testssl.sh
+42-20Lines changed: 42 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -243,9 +243,10 @@ SYSTEM2="" # currently only being used for WSL = ba
243
243
PRINTF="" # which external printf to use. Empty presets the internal one, see #1130
244
244
CIPHERS_BY_STRENGTH_FILE=""
245
245
TLS_DATA_FILE="" # mandatory file for socket-based handshakes
246
-
OPENSSL="" # If you run this from GitHub it's ~/bin/openssl.$(uname).$(uname -m) otherwise /usr/bin/openssl
247
-
OPENSSL2="" # When running from GitHub, this will be openssl version >=1.1.1 (auto determined)
248
-
OPENSSL2_HAS_TLS_1_3=false # If we run with supplied binary AND /usr/bin/openssl supports TLS 1.3 this is set to true
246
+
OPENSSL="" # ~/bin/openssl.$(uname).$(uname -m) if you run this from GitHub. Linux otherwise probably /usr/bin/openssl
247
+
OPENSSL2=${OPENSSL2:-/usr/bin/openssl} # This will be openssl version >=1.1.1 (auto determined) as opposed to openssl-bad (OPENSSL)
248
+
OPENSSL2_HAS_TLS_1_3=false # If we run with supplied binary AND $OPENSSL2 supports TLS 1.3 this wil be set to true
249
+
OSSL_SHORTCUT=${OSSL_SHORTCUT:-true} # Hack: if during the scan turns out the OpenSSL binary supports TLS 1.3 would be a better choice
249
250
OPENSSL_LOCATION=""
250
251
IKNOW_FNAME=false
251
252
FIRST_FINDING=true # is this the first finding we are outputting to file?
@@ -275,7 +276,6 @@ KNOWN_OSSL_PROB=false # We need OpenSSL a few times. This vari
275
276
DETECTED_TLS_VERSION="" # .. as hex string, e.g. 0300 or 0303
276
277
APP_TRAF_KEY_INFO="" # Information about the application traffic keys for a TLS 1.3 connection.
277
278
TLS13_ONLY=false # Does the server support TLS 1.3 ONLY?
278
-
OSSL_SHORTCUT=${OSSL_SHORTCUT:-false} # Hack: if during the scan turns out the OpenSSL binary supports TLS 1.3 would be a better choice, this enables it.
279
279
TLS_EXTENSIONS=""
280
280
TLS13_CERT_COMPRESS_METHODS=""
281
281
CERTIFICATE_TRANSPARENCY_SOURCE=""
@@ -415,6 +415,7 @@ END_TIME=0 # .. ended
415
415
SCAN_TIME=0 # diff of both: total scan time
416
416
LAST_TIME=0 # only used for performance measurements (MEASURE_TIME=true)
417
417
SERVER_COUNTER=0 # Counter for multiple servers
418
+
OPEN_MSG="" # Null the poor man's implementation of a message stack
418
419
419
420
TLS_LOW_BYTE="" # For "secret" development stuff, see -q below
420
421
HEX_CIPHER="" # -- " --
@@ -20297,7 +20298,7 @@ find_openssl_binary() {
20297
20298
# not check /usr/bin/openssl -- if available. This is more a kludge which we shouldn't use for
20298
20299
# every openssl feature. At some point we need to decide which with openssl version we go.
20299
20300
# We also check, whether there's /usr/bin/openssl which has TLS 1.3
0 commit comments