diff --git a/testssl.sh b/testssl.sh index fb66226..a820aee 100755 --- a/testssl.sh +++ b/testssl.sh @@ -1571,16 +1571,18 @@ test_just_one(){ run_allciphers() { local tmpfile local -i nr_ciphers=0 - local n sslvers auth mac export - local -a hexcode ciph kx enc export2 + local n auth mac export + local -a hexcode ciph sslvers kx enc export2 local -i i j parent child end_of_bundle round_num bundle_size num_bundles mod_check local -a ciphers_found local dhlen local available local ciphers_to_test + local sslv2_locally_supported=false sslv2_supported=false - # get a list of all the cipher suites to test (only need the hexcode, ciph, kx, enc, and export values) - while read hexcode[nr_ciphers] n ciph[nr_ciphers] sslvers kx[nr_ciphers] auth enc[nr_ciphers] mac export2[nr_ciphers]; do + # get a list of all the cipher suites to test (only need the hexcode, ciph, sslvers, kx, enc, and export values) + while read hexcode[nr_ciphers] n ciph[nr_ciphers] sslvers[nr_ciphers] kx[nr_ciphers] auth enc[nr_ciphers] mac export2[nr_ciphers]; do + [[ "${sslvers[nr_ciphers]}" == "SSLv2" ]] && sslv2_locally_supported=true nr_ciphers=$nr_ciphers+1 done < <($OPENSSL ciphers -V 'ALL:COMPLEMENTOFALL:@STRENGTH' 2>>$ERRFILE) @@ -1590,6 +1592,12 @@ run_allciphers() { outln neat_header + if $sslv2_locally_supported; then + $OPENSSL s_client $STARTTLS $BUGS -connect $NODEIP:$PORT $PROXY -ssl2 >$TMPFILE 2>$ERRFILE $TMPFILE 2>$ERRFILE $TMPFILE 2>$ERRFILE $TMPFILE 2>$ERRFILE $TMPFILE 2>$ERRFILE $TMPFILE 2>$ERRFILE $TMPFILE 2>$ERRFILE