mirror of https://github.com/wolfSSL/wolfssl.git
parent
f06c08718c
commit
236df9257b
|
@ -10,6 +10,7 @@ endif
|
||||||
|
|
||||||
if BUILD_EXAMPLES
|
if BUILD_EXAMPLES
|
||||||
dist_noinst_SCRIPTS+= scripts/resume.test
|
dist_noinst_SCRIPTS+= scripts/resume.test
|
||||||
|
dist_noinst_SCRIPTS+= scripts/openssl.test
|
||||||
|
|
||||||
if BUILD_CRL
|
if BUILD_CRL
|
||||||
# make revoked test rely on completion of resume test
|
# make revoked test rely on completion of resume test
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#openssl.test
|
||||||
|
|
||||||
|
# need a unique port since may run the same time as testsuite
|
||||||
|
openssl_port=11114
|
||||||
|
no_pid=-1
|
||||||
|
server_pid=$no_pid
|
||||||
|
wolf_suites_tested=0
|
||||||
|
wolf_suites_total=0
|
||||||
|
counter=0
|
||||||
|
|
||||||
|
do_cleanup() {
|
||||||
|
echo "in cleanup"
|
||||||
|
|
||||||
|
if [ $server_pid != $no_pid ]
|
||||||
|
then
|
||||||
|
echo "killing server"
|
||||||
|
kill -9 $server_pid
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
do_trap() {
|
||||||
|
echo "got trap"
|
||||||
|
do_cleanup
|
||||||
|
exit -1
|
||||||
|
}
|
||||||
|
|
||||||
|
trap do_trap INT TERM
|
||||||
|
|
||||||
|
echo -e "\nTesting existence of openssl command...\n"
|
||||||
|
command -v openssl >/dev/null 2>&1 || { echo >&2 "Requires openssl command, but it's not installed. Ending."; exit 0; }
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "\nTesting for _build directory as part of distcheck, different paths"
|
||||||
|
currentDir=`pwd`
|
||||||
|
if [ $currentDir == *"_build" ]
|
||||||
|
then
|
||||||
|
echo -e "_build directory detected, moving a directory back"
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\nStarting openssl server...\n"
|
||||||
|
|
||||||
|
openssl s_server -accept $openssl_port -cert ./certs/server-cert.pem -key ./certs/server-key.pem -quiet -www -dhparam ./certs/dh2048.pem -dcert ./certs/server-ecc.pem -dkey ./certs/ecc-key.pem &
|
||||||
|
server_pid=$!
|
||||||
|
|
||||||
|
|
||||||
|
# get openssl ciphers
|
||||||
|
open_ciphers=`openssl ciphers`
|
||||||
|
IFS=':' read -ra opensslArray <<< "$open_ciphers"
|
||||||
|
|
||||||
|
# get wolfssl ciphers
|
||||||
|
wolf_ciphers=`./examples/client/client -e`
|
||||||
|
IFS=':' read -ra wolfsslArray <<< "$wolf_ciphers"
|
||||||
|
|
||||||
|
# server should be ready, let's make sure
|
||||||
|
server_ready=0
|
||||||
|
while [ "$counter" -lt 20 ]; do
|
||||||
|
echo -e "waiting for openssl s_server ready..."
|
||||||
|
nc -z localhost $openssl_port
|
||||||
|
nc_result=$?
|
||||||
|
if [ $nc_result == 0 ]
|
||||||
|
then
|
||||||
|
echo -e "openssl s_server ready!"
|
||||||
|
server_ready=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 0.1
|
||||||
|
counter=$((counter+ 1))
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
if [ $server_ready == 0 ]
|
||||||
|
then
|
||||||
|
echo -e "Couldn't verify openssl server is running, timeout error"
|
||||||
|
do_cleanup
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for wolfSuite in "${wolfsslArray[@]}"; do
|
||||||
|
|
||||||
|
echo -e "trying wolfSSL cipher suite $wolfSuite"
|
||||||
|
matchSuite=0
|
||||||
|
wolf_suites_total=$((wolf_suites_total + 1))
|
||||||
|
|
||||||
|
for openSuite in "${opensslArray[@]}"; do
|
||||||
|
if [ $openSuite == $wolfSuite ]
|
||||||
|
then
|
||||||
|
echo -e "Matched to OpenSSL suite support"
|
||||||
|
matchSuite=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $matchSuite == 0 ]
|
||||||
|
then
|
||||||
|
echo -e "Couldn't match suite, continuing..."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
./examples/client/client -p $openssl_port -g -l $wolfSuite
|
||||||
|
client_result=$?
|
||||||
|
|
||||||
|
if [ $client_result != 0 ]
|
||||||
|
then
|
||||||
|
echo -e "client failed!"
|
||||||
|
do_cleanup
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
wolf_suites_tested=$((wolf_suites_tested+1))
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
kill -9 $server_pid
|
||||||
|
|
||||||
|
echo -e "wolfSSL total suites $wolf_suites_total"
|
||||||
|
echo -e "wolfSSL suites tested $wolf_suites_tested"
|
||||||
|
echo -e "\nSuccess!\n"
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue