scripts/: refactor TLS version support tests to use -V, rather than -v (which makes frivolous connection attempts).

This commit is contained in:
Daniel Pouzzner
2022-05-19 11:18:34 -05:00
parent 4a3ff40eb3
commit 368854b243
6 changed files with 56 additions and 53 deletions

View File

@@ -10,8 +10,10 @@ ca=./certs/wolfssl-website-ca.pem
[ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1 [ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1
# www.wolfssl.com isn't using RFC 8446 yet but the draft instead. # www.wolfssl.com isn't using RFC 8446 yet but the draft instead.
./examples/client/client -v 3 2>&1 | grep -- 'Bad SSL version' if ! ./examples/client/client -V | grep -q 3; then
if [ $? -ne 0 ]; then echo 'skipping external.test because TLS1.2 is not available.' 1>&2
exit 0
fi
# cloudflare seems to change CAs quickly, disabled by default # cloudflare seems to change CAs quickly, disabled by default
if test -n "$WOLFSSL_EXTERNAL_TEST"; then if test -n "$WOLFSSL_EXTERNAL_TEST"; then
@@ -43,6 +45,4 @@ if [ $? -ne 0 ]; then
RESULT=$? RESULT=$?
[ $RESULT -ne 0 ] && echo -e "\n\nClient connection failed" && exit 1 [ $RESULT -ne 0 ] && echo -e "\n\nClient connection failed" && exit 1
fi
exit 0 exit 0

View File

@@ -6,9 +6,8 @@ server=www.google.com
[ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1 [ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1
./examples/client/client -v 3 2>&1 | grep -- 'Bad SSL version' if ! ./examples/client/client -V | grep -q 3; then
if [ $? -eq 0 ]; then echo 'skipping google.test because TLS1.2 is not available.' 1>&2
echo -e "\n\nClient doesn't support TLS v1.2"
exit 0 exit 0
fi fi
@@ -22,8 +21,7 @@ RESULT=$?
RESULT=$? RESULT=$?
[ $RESULT -ne 0 ] && echo -e "\n\nClient connection failed" && exit 1 [ $RESULT -ne 0 ] && echo -e "\n\nClient connection failed" && exit 1
./examples/client/client -v 4 2>&1 | grep -- 'Bad SSL version' if ./examples/client/client -V | grep -q 4; then
if [ $? -ne 0 ]; then
# client test against the server using TLS v1.3 # client test against the server using TLS v1.3
./examples/client/client -v 4 -X -C -h $server -p 443 -g -d ./examples/client/client -v 4 -X -C -h $server -p 443 -g -d
RESULT=$? RESULT=$?

View File

@@ -23,10 +23,8 @@ if [[ -z "${RETRIES_REMAINING-}" ]]; then
export RETRIES_REMAINING=2 export RETRIES_REMAINING=2
fi fi
./examples/client/client -v 3 2>&1 | grep -- 'Bad SSL version' if ! ./examples/client/client -V | grep -q 3; then
if [ $? -eq 0 ]; then echo 'skipping ocsp-stapling-with-ca-as-responder.test because TLS1.2 is not available.' 1>&2
echo "TLS 1.2 or lower required"
echo "Skipped"
exit 0 exit 0
fi fi

View File

@@ -11,10 +11,8 @@ if [[ -z "${RETRIES_REMAINING-}" ]]; then
export RETRIES_REMAINING=2 export RETRIES_REMAINING=2
fi fi
./examples/client/client -v 3 2>&1 | grep -- 'Bad SSL version' if ! ./examples/client/client -V | grep -q 3; then
if [ $? -eq 0 ]; then echo 'skipping ocsp-stapling.test because TLS1.2 is not available.' 1>&2
echo "TLS 1.2 or lower required"
echo "Skipped"
exit 0 exit 0
fi fi
@@ -331,8 +329,7 @@ RESULT=$?
printf '%s\n\n' "Test successfully REVOKED!" printf '%s\n\n' "Test successfully REVOKED!"
./examples/client/client -v 4 2>&1 | grep -- 'Bad SSL version' if ./examples/client/client -V | grep -q 4; then
if [ $? -ne 0 ]; then
printf '%s\n\n' "------------- TEST CASE 3 SHOULD PASS --------------------" printf '%s\n\n' "------------- TEST CASE 3 SHOULD PASS --------------------"
# client test against our own server - GOOD CERT # client test against our own server - GOOD CERT
remove_single_rF "$ready_file2" remove_single_rF "$ready_file2"
@@ -376,6 +373,8 @@ if [ $? -ne 0 ]; then
printf '\n\n%s\n' "Client connection 5 succeeded $RESULT" \ printf '\n\n%s\n' "Client connection 5 succeeded $RESULT" \
&& exit 1 && exit 1
printf '%s\n\n' "Test successfully REVOKED!" printf '%s\n\n' "Test successfully REVOKED!"
else
echo 'skipping TLS1.3 stapling tests.' 1>&2
fi fi
# need a unique port since may run the same time as testsuite # need a unique port since may run the same time as testsuite
@@ -408,9 +407,9 @@ printf '%s\n\n' "Test PASSED!"
openssl ciphers -tls1_3 openssl ciphers -tls1_3
openssl_tls13=$? openssl_tls13=$?
./examples/client/client -v 4 2>&1 | grep -- 'Bad SSL version' ./examples/client/client -V | grep -q 4
wolfssl_not_tls13=$? wolfssl_tls13=$?
if [ "$openssl_tls13" = "0" -a "$wolfssl_not_tls13" != "0" ]; then if [ "$openssl_tls13" = "0" -a "$wolfssl_tls13" = "0" ]; then
printf '%s\n\n' "------------- TEST CASE 8 SHOULD PASS --------------------" printf '%s\n\n' "------------- TEST CASE 8 SHOULD PASS --------------------"
# client asks for OCSP staple but doesn't fail when none returned # client asks for OCSP staple but doesn't fail when none returned
./examples/client/client -p $port -g -v 4 -W 1 ./examples/client/client -p $port -g -v 4 -W 1
@@ -428,6 +427,18 @@ if [ "$openssl_tls13" = "0" -a "$wolfssl_not_tls13" != "0" ]; then
&& printf '\n\n%s\n' "Client connection 9 succeeded $RESULT" \ && printf '\n\n%s\n' "Client connection 9 succeeded $RESULT" \
&& exit 1 && exit 1
printf '%s\n\n' "Test PASSED!" printf '%s\n\n' "Test PASSED!"
else
echo -n 'skipping TLS1.3 stapling interoperability test:' 1>&2
if [ "$openssl_tls13" != "0" ]; then
echo -n ' OpenSSL' 1>&2
fi
if [ "$wolfssl_tls13" != "0" ]; then
if [ "$openssl_tls13" != "0" ]; then
echo -n ' and' 1>&2
fi
echo -n ' wolfSSL' 1>&2
fi
echo -n ' missing TLS1.3 support.' 1>&2
fi fi
printf '%s\n\n' "------------------- TESTS COMPLETE ---------------------------" printf '%s\n\n' "------------------- TESTS COMPLETE ---------------------------"

View File

@@ -24,10 +24,8 @@ if [[ -z "${RETRIES_REMAINING-}" ]]; then
export RETRIES_REMAINING=2 export RETRIES_REMAINING=2
fi fi
./examples/client/client -v 3 2>&1 | grep -- 'Bad SSL version' if ! ./examples/client/client -V | grep -q 3; then
if [ $? -eq 0 ]; then echo 'skipping ocsp-stapling2.test because TLS1.2 is not available.' 1>&2
echo "TLS 1.2 or lower required"
echo "Skipped"
exit 0 exit 0
fi fi

View File

@@ -12,10 +12,8 @@ ca=certs/external/ca-globalsign-root.pem
[ ! -x ./examples/client/client ] && printf '\n\n%s\n' "Client doesn't exist" \ [ ! -x ./examples/client/client ] && printf '\n\n%s\n' "Client doesn't exist" \
&& exit 1 && exit 1
./examples/client/client -v 3 2>&1 | grep -- 'Bad SSL version' if ! ./examples/client/client -V | grep -q 3; then
if [ $? -eq 0 ]; then echo 'skipping ocsp.test because TLS1.2 is not available.' 1>&2
echo "TLS 1.2 or lower required"
echo "Skipped"
exit 0 exit 0
fi fi