123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- #!/bin/sh
- if [ "$1" = "" ]; then
- key=../apps/server.pem
- else
- key="$1"
- fi
- if [ "$2" = "" ]; then
- cert=../apps/server.pem
- else
- cert="$2"
- fi
- ssltest="../util/shlib_wrap.sh ./ssltest -key $key -cert $cert -c_key $key -c_cert $cert"
- if ../util/shlib_wrap.sh ../apps/openssl x509 -in $cert -text -noout | fgrep 'DSA Public Key' >/dev/null; then
- dsa_cert=YES
- else
- dsa_cert=NO
- fi
- if [ "$3" = "" ]; then
- CA="-CApath ../certs"
- else
- CA="-CAfile $3"
- fi
- if [ "$4" = "" ]; then
- extra=""
- else
- extra="$4"
- fi
- #############################################################################
- echo test sslv2
- $ssltest -ssl2 $extra || exit 1
- echo test sslv2 with server authentication
- $ssltest -ssl2 -server_auth $CA $extra || exit 1
- if [ $dsa_cert = NO ]; then
- echo test sslv2 with client authentication
- $ssltest -ssl2 -client_auth $CA $extra || exit 1
- echo test sslv2 with both client and server authentication
- $ssltest -ssl2 -server_auth -client_auth $CA $extra || exit 1
- fi
- echo test sslv3
- $ssltest -ssl3 $extra || exit 1
- echo test sslv3 with server authentication
- $ssltest -ssl3 -server_auth $CA $extra || exit 1
- echo test sslv3 with client authentication
- $ssltest -ssl3 -client_auth $CA $extra || exit 1
- echo test sslv3 with both client and server authentication
- $ssltest -ssl3 -server_auth -client_auth $CA $extra || exit 1
- echo test sslv2/sslv3
- $ssltest $extra || exit 1
- echo test sslv2/sslv3 with server authentication
- $ssltest -server_auth $CA $extra || exit 1
- echo test sslv2/sslv3 with client authentication
- $ssltest -client_auth $CA $extra || exit 1
- echo test sslv2/sslv3 with both client and server authentication
- $ssltest -server_auth -client_auth $CA $extra || exit 1
- echo test sslv2 via BIO pair
- $ssltest -bio_pair -ssl2 $extra || exit 1
- echo test sslv2 with server authentication via BIO pair
- $ssltest -bio_pair -ssl2 -server_auth $CA $extra || exit 1
- if [ $dsa_cert = NO ]; then
- echo test sslv2 with client authentication via BIO pair
- $ssltest -bio_pair -ssl2 -client_auth $CA $extra || exit 1
- echo test sslv2 with both client and server authentication via BIO pair
- $ssltest -bio_pair -ssl2 -server_auth -client_auth $CA $extra || exit 1
- fi
- echo test sslv3 via BIO pair
- $ssltest -bio_pair -ssl3 $extra || exit 1
- echo test sslv3 with server authentication via BIO pair
- $ssltest -bio_pair -ssl3 -server_auth $CA $extra || exit 1
- echo test sslv3 with client authentication via BIO pair
- $ssltest -bio_pair -ssl3 -client_auth $CA $extra || exit 1
- echo test sslv3 with both client and server authentication via BIO pair
- $ssltest -bio_pair -ssl3 -server_auth -client_auth $CA $extra || exit 1
- echo test sslv2/sslv3 via BIO pair
- $ssltest $extra || exit 1
- if [ $dsa_cert = NO ]; then
- echo test sslv2/sslv3 w/o DHE via BIO pair
- $ssltest -bio_pair -no_dhe $extra || exit 1
- fi
- echo test sslv2/sslv3 with 1024bit DHE via BIO pair
- $ssltest -bio_pair -dhe1024dsa -v $extra || exit 1
- echo test sslv2/sslv3 with server authentication
- $ssltest -bio_pair -server_auth $CA $extra || exit 1
- echo test sslv2/sslv3 with client authentication via BIO pair
- $ssltest -bio_pair -client_auth $CA $extra || exit 1
- echo test sslv2/sslv3 with both client and server authentication via BIO pair
- $ssltest -bio_pair -server_auth -client_auth $CA $extra || exit 1
- echo test sslv2/sslv3 with both client and server authentication via BIO pair and app verify
- $ssltest -bio_pair -server_auth -client_auth -app_verify $CA $extra || exit 1
- echo "Testing ciphersuites"
- for protocol in SSLv3; do
- echo "Testing ciphersuites for $protocol"
- for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do
- echo "Testing $cipher"
- prot=""
- if [ $protocol = "SSLv3" ] ; then
- prot="-ssl3"
- fi
- $ssltest -cipher $cipher $prot
- if [ $? -ne 0 ] ; then
- echo "Failed $cipher"
- exit 1
- fi
- done
- done
- #############################################################################
- if ../util/shlib_wrap.sh ../apps/openssl no-dh; then
- echo skipping anonymous DH tests
- else
- echo test tls1 with 1024bit anonymous DH, multiple handshakes
- $ssltest -v -bio_pair -tls1 -cipher ADH -dhe1024dsa -num 10 -f -time $extra || exit 1
- fi
- if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then
- echo skipping RSA tests
- else
- echo test tls1 with 1024bit RSA, no DHE, multiple handshakes
- ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -no_dhe -num 10 -f -time $extra || exit 1
- if ../util/shlib_wrap.sh ../apps/openssl no-dh; then
- echo skipping RSA+DHE tests
- else
- echo test tls1 with 1024bit RSA, 1024bit DHE, multiple handshakes
- ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -dhe1024dsa -num 10 -f -time $extra || exit 1
- fi
- fi
- exit 0
|