15b37fcf3Sryker#!/bin/sh 25b37fcf3Sryker 3da347917Sbeckif [ "$1" = "" ]; then 4da347917Sbeck key=../apps/server.pem 5da347917Sbeckelse 6da347917Sbeck key="$1" 7da347917Sbeckfi 8da347917Sbeckif [ "$2" = "" ]; then 9da347917Sbeck cert=../apps/server.pem 10da347917Sbeckelse 11da347917Sbeck cert="$2" 12da347917Sbeckfi 1340d8aef3Sdjmssltest="../util/shlib_wrap.sh ./ssltest -key $key -cert $cert -c_key $key -c_cert $cert" 14da347917Sbeck 1540d8aef3Sdjmif ../util/shlib_wrap.sh ../apps/openssl x509 -in $cert -text -noout | fgrep 'DSA Public Key' >/dev/null; then 16da347917Sbeck dsa_cert=YES 17da347917Sbeckelse 18da347917Sbeck dsa_cert=NO 19da347917Sbeckfi 20da347917Sbeck 21da347917Sbeckif [ "$3" = "" ]; then 22da347917Sbeck CA="-CApath ../certs" 23da347917Sbeckelse 24da347917Sbeck CA="-CAfile $3" 25da347917Sbeckfi 26da347917Sbeck 27da347917Sbeckif [ "$4" = "" ]; then 28da347917Sbeck extra="" 29da347917Sbeckelse 30da347917Sbeck extra="$4" 31da347917Sbeckfi 32da347917Sbeck 33da347917Sbeck############################################################################# 34da347917Sbeck 355b37fcf3Srykerecho test sslv2 36da347917Sbeck$ssltest -ssl2 $extra || exit 1 375b37fcf3Sryker 385b37fcf3Srykerecho test sslv2 with server authentication 39da347917Sbeck$ssltest -ssl2 -server_auth $CA $extra || exit 1 405b37fcf3Sryker 41da347917Sbeckif [ $dsa_cert = NO ]; then 425b37fcf3Sryker echo test sslv2 with client authentication 43da347917Sbeck $ssltest -ssl2 -client_auth $CA $extra || exit 1 445b37fcf3Sryker 455b37fcf3Sryker echo test sslv2 with both client and server authentication 46da347917Sbeck $ssltest -ssl2 -server_auth -client_auth $CA $extra || exit 1 47da347917Sbeckfi 485b37fcf3Sryker 495b37fcf3Srykerecho test sslv3 50da347917Sbeck$ssltest -ssl3 $extra || exit 1 515b37fcf3Sryker 525b37fcf3Srykerecho test sslv3 with server authentication 53da347917Sbeck$ssltest -ssl3 -server_auth $CA $extra || exit 1 545b37fcf3Sryker 555b37fcf3Srykerecho test sslv3 with client authentication 56da347917Sbeck$ssltest -ssl3 -client_auth $CA $extra || exit 1 575b37fcf3Sryker 585b37fcf3Srykerecho test sslv3 with both client and server authentication 59da347917Sbeck$ssltest -ssl3 -server_auth -client_auth $CA $extra || exit 1 605b37fcf3Sryker 615b37fcf3Srykerecho test sslv2/sslv3 62da347917Sbeck$ssltest $extra || exit 1 635b37fcf3Sryker 645b37fcf3Srykerecho test sslv2/sslv3 with server authentication 65da347917Sbeck$ssltest -server_auth $CA $extra || exit 1 665b37fcf3Sryker 675b37fcf3Srykerecho test sslv2/sslv3 with client authentication 68da347917Sbeck$ssltest -client_auth $CA $extra || exit 1 695b37fcf3Sryker 705b37fcf3Srykerecho test sslv2/sslv3 with both client and server authentication 71da347917Sbeck$ssltest -server_auth -client_auth $CA $extra || exit 1 725b37fcf3Sryker 73913ec974Sbeckecho test sslv2 via BIO pair 74da347917Sbeck$ssltest -bio_pair -ssl2 $extra || exit 1 755b37fcf3Sryker 76913ec974Sbeckecho test sslv2 with server authentication via BIO pair 77da347917Sbeck$ssltest -bio_pair -ssl2 -server_auth $CA $extra || exit 1 78913ec974Sbeck 79da347917Sbeckif [ $dsa_cert = NO ]; then 80913ec974Sbeck echo test sslv2 with client authentication via BIO pair 81da347917Sbeck $ssltest -bio_pair -ssl2 -client_auth $CA $extra || exit 1 82913ec974Sbeck 83913ec974Sbeck echo test sslv2 with both client and server authentication via BIO pair 84da347917Sbeck $ssltest -bio_pair -ssl2 -server_auth -client_auth $CA $extra || exit 1 85da347917Sbeckfi 86913ec974Sbeck 87913ec974Sbeckecho test sslv3 via BIO pair 88da347917Sbeck$ssltest -bio_pair -ssl3 $extra || exit 1 89913ec974Sbeck 90913ec974Sbeckecho test sslv3 with server authentication via BIO pair 91da347917Sbeck$ssltest -bio_pair -ssl3 -server_auth $CA $extra || exit 1 92913ec974Sbeck 93913ec974Sbeckecho test sslv3 with client authentication via BIO pair 94da347917Sbeck$ssltest -bio_pair -ssl3 -client_auth $CA $extra || exit 1 95913ec974Sbeck 96913ec974Sbeckecho test sslv3 with both client and server authentication via BIO pair 97da347917Sbeck$ssltest -bio_pair -ssl3 -server_auth -client_auth $CA $extra || exit 1 98913ec974Sbeck 99913ec974Sbeckecho test sslv2/sslv3 via BIO pair 100da347917Sbeck$ssltest $extra || exit 1 101913ec974Sbeck 102da347917Sbeckif [ $dsa_cert = NO ]; then 10317150393Sdjm echo 'test sslv2/sslv3 w/o (EC)DHE via BIO pair' 10417150393Sdjm $ssltest -bio_pair -no_dhe -no_ecdhe $extra || exit 1 105da347917Sbeckfi 106ba5406e9Sbeck 107da347917Sbeckecho test sslv2/sslv3 with 1024bit DHE via BIO pair 108da347917Sbeck$ssltest -bio_pair -dhe1024dsa -v $extra || exit 1 109ba5406e9Sbeck 110913ec974Sbeckecho test sslv2/sslv3 with server authentication 111da347917Sbeck$ssltest -bio_pair -server_auth $CA $extra || exit 1 112913ec974Sbeck 113913ec974Sbeckecho test sslv2/sslv3 with client authentication via BIO pair 114da347917Sbeck$ssltest -bio_pair -client_auth $CA $extra || exit 1 115913ec974Sbeck 116913ec974Sbeckecho test sslv2/sslv3 with both client and server authentication via BIO pair 117da347917Sbeck$ssltest -bio_pair -server_auth -client_auth $CA $extra || exit 1 118da347917Sbeck 119da347917Sbeckecho test sslv2/sslv3 with both client and server authentication via BIO pair and app verify 120da347917Sbeck$ssltest -bio_pair -server_auth -client_auth -app_verify $CA $extra || exit 1 121da347917Sbeck 122*97222eddSmiodecho "Testing ciphersuites" 123*97222eddSmiodfor protocol in TLSv1.2 SSLv3; do 124*97222eddSmiod echo "Testing ciphersuites for $protocol" 125*97222eddSmiod for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do 126*97222eddSmiod echo "Testing $cipher" 127*97222eddSmiod prot="" 128*97222eddSmiod if [ $protocol = "SSLv3" ] ; then 129*97222eddSmiod prot="-ssl3" 130*97222eddSmiod fi 131*97222eddSmiod $ssltest -cipher $cipher $prot 132*97222eddSmiod if [ $? -ne 0 ] ; then 133*97222eddSmiod echo "Failed $cipher" 134*97222eddSmiod exit 1 135*97222eddSmiod fi 136*97222eddSmiod done 137*97222eddSmioddone 138*97222eddSmiod 139da347917Sbeck############################################################################# 140da347917Sbeck 14140d8aef3Sdjmif ../util/shlib_wrap.sh ../apps/openssl no-dh; then 142767fe2ffSmarkus echo skipping anonymous DH tests 143767fe2ffSmarkuselse 144da347917Sbeck echo test tls1 with 1024bit anonymous DH, multiple handshakes 145da347917Sbeck $ssltest -v -bio_pair -tls1 -cipher ADH -dhe1024dsa -num 10 -f -time $extra || exit 1 146767fe2ffSmarkusfi 147da347917Sbeck 14840d8aef3Sdjmif ../util/shlib_wrap.sh ../apps/openssl no-rsa; then 149da347917Sbeck echo skipping RSA tests 150da347917Sbeckelse 15117150393Sdjm echo 'test tls1 with 1024bit RSA, no (EC)DHE, multiple handshakes' 15217150393Sdjm ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -no_dhe -no_ecdhe -num 10 -f -time $extra || exit 1 153da347917Sbeck 15440d8aef3Sdjm if ../util/shlib_wrap.sh ../apps/openssl no-dh; then 155767fe2ffSmarkus echo skipping RSA+DHE tests 156767fe2ffSmarkus else 157da347917Sbeck echo test tls1 with 1024bit RSA, 1024bit DHE, multiple handshakes 15840d8aef3Sdjm ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -dhe1024dsa -num 10 -f -time $extra || exit 1 159da347917Sbeck fi 160767fe2ffSmarkusfi 161913ec974Sbeck 1620a5d6edeSdjmecho test tls1 with PSK 1630a5d6edeSdjm$ssltest -tls1 -cipher PSK -psk abc123 $extra || exit 1 1640a5d6edeSdjm 1650a5d6edeSdjmecho test tls1 with PSK via BIO pair 1660a5d6edeSdjm$ssltest -bio_pair -tls1 -cipher PSK -psk abc123 $extra || exit 1 1670a5d6edeSdjm 1685cdd308eSdjmif ../util/shlib_wrap.sh ../apps/openssl no-srp; then 1695cdd308eSdjm echo skipping SRP tests 1705cdd308eSdjmelse 1715cdd308eSdjm echo test tls1 with SRP 1725cdd308eSdjm $ssltest -tls1 -cipher SRP -srpuser test -srppass abc123 1735cdd308eSdjm 1745cdd308eSdjm echo test tls1 with SRP via BIO pair 1755cdd308eSdjm $ssltest -bio_pair -tls1 -cipher SRP -srpuser test -srppass abc123 1765cdd308eSdjmfi 1775cdd308eSdjm 178913ec974Sbeckexit 0 179