Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 3 | if [ "$1" = "" ]; then |
| 4 | key=../apps/server.pem |
| 5 | else |
| 6 | key="$1" |
| 7 | fi |
| 8 | if [ "$2" = "" ]; then |
| 9 | cert=../apps/server.pem |
| 10 | else |
| 11 | cert="$2" |
| 12 | fi |
Andy Polyakov | 62d2793 | 2005-02-01 23:48:37 +0000 | [diff] [blame] | 13 | ssltest="../util/shlib_wrap.sh ./ssltest -key $key -cert $cert -c_key $key -c_cert $cert" |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 14 | |
Andy Polyakov | 62d2793 | 2005-02-01 23:48:37 +0000 | [diff] [blame] | 15 | if ../util/shlib_wrap.sh ../apps/openssl x509 -in $cert -text -noout | fgrep 'DSA Public Key' >/dev/null; then |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 16 | dsa_cert=YES |
| 17 | else |
| 18 | dsa_cert=NO |
| 19 | fi |
| 20 | |
| 21 | if [ "$3" = "" ]; then |
| 22 | CA="-CApath ../certs" |
| 23 | else |
| 24 | CA="-CAfile $3" |
| 25 | fi |
| 26 | |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 27 | if [ "$4" = "" ]; then |
| 28 | extra="" |
| 29 | else |
| 30 | extra="$4" |
| 31 | fi |
| 32 | |
Trevor | a398f82 | 2013-05-12 18:55:27 -0700 | [diff] [blame] | 33 | serverinfo="./serverinfo.pem" |
| 34 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 35 | ############################################################################# |
| 36 | |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 37 | echo test sslv2 |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 38 | $ssltest -ssl2 $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 39 | |
| 40 | echo test sslv2 with server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 41 | $ssltest -ssl2 -server_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 42 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 43 | if [ $dsa_cert = NO ]; then |
| 44 | echo test sslv2 with client authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 45 | $ssltest -ssl2 -client_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 46 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 47 | echo test sslv2 with both client and server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 48 | $ssltest -ssl2 -server_auth -client_auth $CA $extra || exit 1 |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 49 | fi |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 50 | |
| 51 | echo test sslv3 |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 52 | $ssltest -ssl3 $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 53 | |
| 54 | echo test sslv3 with server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 55 | $ssltest -ssl3 -server_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 56 | |
| 57 | echo test sslv3 with client authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 58 | $ssltest -ssl3 -client_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 59 | |
| 60 | echo test sslv3 with both client and server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 61 | $ssltest -ssl3 -server_auth -client_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 62 | |
| 63 | echo test sslv2/sslv3 |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 64 | $ssltest $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 65 | |
| 66 | echo test sslv2/sslv3 with server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 67 | $ssltest -server_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 68 | |
| 69 | echo test sslv2/sslv3 with client authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 70 | $ssltest -client_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 71 | |
| 72 | echo test sslv2/sslv3 with both client and server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 73 | $ssltest -server_auth -client_auth $CA $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 74 | |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 75 | echo test sslv2 via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 76 | $ssltest -bio_pair -ssl2 $extra || exit 1 |
Ralf S. Engelschall | d02b48c | 1998-12-21 10:52:47 +0000 | [diff] [blame] | 77 | |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 78 | echo test sslv2 with server authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 79 | $ssltest -bio_pair -ssl2 -server_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 80 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 81 | if [ $dsa_cert = NO ]; then |
| 82 | echo test sslv2 with client authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 83 | $ssltest -bio_pair -ssl2 -client_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 84 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 85 | echo test sslv2 with both client and server authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 86 | $ssltest -bio_pair -ssl2 -server_auth -client_auth $CA $extra || exit 1 |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 87 | fi |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 88 | |
| 89 | echo test sslv3 via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 90 | $ssltest -bio_pair -ssl3 $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 91 | |
| 92 | echo test sslv3 with server authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 93 | $ssltest -bio_pair -ssl3 -server_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 94 | |
| 95 | echo test sslv3 with client authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 96 | $ssltest -bio_pair -ssl3 -client_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 97 | |
| 98 | echo test sslv3 with both client and server authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 99 | $ssltest -bio_pair -ssl3 -server_auth -client_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 100 | |
| 101 | echo test sslv2/sslv3 via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 102 | $ssltest $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 103 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 104 | if [ $dsa_cert = NO ]; then |
Bodo Möller | 8bfc647 | 2011-10-13 15:07:08 +0000 | [diff] [blame] | 105 | echo 'test sslv2/sslv3 w/o (EC)DHE via BIO pair' |
| 106 | $ssltest -bio_pair -no_dhe -no_ecdhe $extra || exit 1 |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 107 | fi |
Bodo Möller | 77fa04a | 1999-09-03 16:31:36 +0000 | [diff] [blame] | 108 | |
Bodo Möller | 563f150 | 2000-03-13 15:06:54 +0000 | [diff] [blame] | 109 | echo test sslv2/sslv3 with 1024bit DHE via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 110 | $ssltest -bio_pair -dhe1024dsa -v $extra || exit 1 |
Bodo Möller | a87030a | 2000-01-30 02:23:03 +0000 | [diff] [blame] | 111 | |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 112 | echo test sslv2/sslv3 with server authentication |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 113 | $ssltest -bio_pair -server_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 114 | |
| 115 | echo test sslv2/sslv3 with client authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 116 | $ssltest -bio_pair -client_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 117 | |
| 118 | echo test sslv2/sslv3 with both client and server authentication via BIO pair |
Richard Levitte | 23f80f4 | 2000-11-30 11:57:31 +0000 | [diff] [blame] | 119 | $ssltest -bio_pair -server_auth -client_auth $CA $extra || exit 1 |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 120 | |
Bodo Möller | 023ec15 | 2002-02-28 10:52:56 +0000 | [diff] [blame] | 121 | echo test sslv2/sslv3 with both client and server authentication via BIO pair and app verify |
| 122 | $ssltest -bio_pair -server_auth -client_auth -app_verify $CA $extra || exit 1 |
| 123 | |
Adam Langley | 32620fe | 2013-02-06 16:05:40 +0000 | [diff] [blame] | 124 | echo "Testing ciphersuites" |
| 125 | for protocol in TLSv1.2 SSLv3; do |
| 126 | echo "Testing ciphersuites for $protocol" |
| 127 | for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do |
| 128 | echo "Testing $cipher" |
| 129 | prot="" |
| 130 | if [ $protocol = "SSLv3" ] ; then |
| 131 | prot="-ssl3" |
| 132 | fi |
| 133 | $ssltest -cipher $cipher $prot |
| 134 | if [ $? -ne 0 ] ; then |
| 135 | echo "Failed $cipher" |
| 136 | exit 1 |
| 137 | fi |
| 138 | done |
| 139 | done |
| 140 | |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 141 | ############################################################################# |
Bodo Möller | 563f150 | 2000-03-13 15:06:54 +0000 | [diff] [blame] | 142 | |
Andy Polyakov | 62d2793 | 2005-02-01 23:48:37 +0000 | [diff] [blame] | 143 | if ../util/shlib_wrap.sh ../apps/openssl no-dh; then |
Richard Levitte | 0d3f2cc | 2002-12-12 18:43:10 +0000 | [diff] [blame] | 144 | echo skipping anonymous DH tests |
| 145 | else |
| 146 | echo test tls1 with 1024bit anonymous DH, multiple handshakes |
| 147 | $ssltest -v -bio_pair -tls1 -cipher ADH -dhe1024dsa -num 10 -f -time $extra || exit 1 |
| 148 | fi |
Bodo Möller | d58d6c2 | 2000-03-13 19:44:45 +0000 | [diff] [blame] | 149 | |
Andy Polyakov | 62d2793 | 2005-02-01 23:48:37 +0000 | [diff] [blame] | 150 | if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then |
Bodo Möller | 46c4647 | 2000-03-13 20:31:46 +0000 | [diff] [blame] | 151 | echo skipping RSA tests |
| 152 | else |
Bodo Möller | 8bfc647 | 2011-10-13 15:07:08 +0000 | [diff] [blame] | 153 | echo 'test tls1 with 1024bit RSA, no (EC)DHE, multiple handshakes' |
| 154 | ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -no_dhe -no_ecdhe -num 10 -f -time $extra || exit 1 |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 155 | |
Andy Polyakov | 62d2793 | 2005-02-01 23:48:37 +0000 | [diff] [blame] | 156 | if ../util/shlib_wrap.sh ../apps/openssl no-dh; then |
Richard Levitte | 0d3f2cc | 2002-12-12 18:43:10 +0000 | [diff] [blame] | 157 | echo skipping RSA+DHE tests |
| 158 | else |
| 159 | echo test tls1 with 1024bit RSA, 1024bit DHE, multiple handshakes |
Andy Polyakov | 62d2793 | 2005-02-01 23:48:37 +0000 | [diff] [blame] | 160 | ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -dhe1024dsa -num 10 -f -time $extra || exit 1 |
Richard Levitte | 0d3f2cc | 2002-12-12 18:43:10 +0000 | [diff] [blame] | 161 | fi |
Bodo Möller | 65b002f | 2000-03-13 19:24:39 +0000 | [diff] [blame] | 162 | fi |
| 163 | |
Bodo Möller | 2c47278 | 2011-09-05 13:43:56 +0000 | [diff] [blame] | 164 | echo test tls1 with PSK |
| 165 | $ssltest -tls1 -cipher PSK -psk abc123 $extra || exit 1 |
Nils Larsch | ddac197 | 2006-03-10 23:06:27 +0000 | [diff] [blame] | 166 | |
| 167 | echo test tls1 with PSK via BIO pair |
| 168 | $ssltest -bio_pair -tls1 -cipher PSK -psk abc123 $extra || exit 1 |
| 169 | |
Ben Laurie | d9a268b | 2010-09-05 16:35:10 +0000 | [diff] [blame] | 170 | ############################################################################# |
| 171 | # Next Protocol Negotiation Tests |
| 172 | |
| 173 | $ssltest -bio_pair -tls1 -npn_client || exit 1 |
| 174 | $ssltest -bio_pair -tls1 -npn_server || exit 1 |
| 175 | $ssltest -bio_pair -tls1 -npn_server_reject || exit 1 |
| 176 | $ssltest -bio_pair -tls1 -npn_client -npn_server_reject || exit 1 |
| 177 | $ssltest -bio_pair -tls1 -npn_client -npn_server || exit 1 |
| 178 | $ssltest -bio_pair -tls1 -npn_client -npn_server -num 2 || exit 1 |
| 179 | $ssltest -bio_pair -tls1 -npn_client -npn_server -num 2 -reuse || exit 1 |
| 180 | |
Trevor | a398f82 | 2013-05-12 18:55:27 -0700 | [diff] [blame] | 181 | ############################################################################# |
Trevor | 9cd50f7 | 2013-06-13 22:36:45 -0700 | [diff] [blame] | 182 | # Custom Extension tests |
| 183 | |
| 184 | echo test tls1 with custom extensions |
| 185 | $ssltest -bio_pair -tls1 -custom_ext || exit 1 |
| 186 | |
| 187 | ############################################################################# |
Trevor | a398f82 | 2013-05-12 18:55:27 -0700 | [diff] [blame] | 188 | # Serverinfo tests |
| 189 | |
Trevor | 9cd50f7 | 2013-06-13 22:36:45 -0700 | [diff] [blame] | 190 | echo test tls1 with serverinfo |
Trevor | a398f82 | 2013-05-12 18:55:27 -0700 | [diff] [blame] | 191 | $ssltest -bio_pair -tls1 -serverinfo_file $serverinfo || exit 1 |
| 192 | $ssltest -bio_pair -tls1 -serverinfo_file $serverinfo -serverinfo_sct || exit 1 |
| 193 | $ssltest -bio_pair -tls1 -serverinfo_file $serverinfo -serverinfo_tack || exit 1 |
| 194 | $ssltest -bio_pair -tls1 -serverinfo_file $serverinfo -serverinfo_sct -serverinfo_tack || exit 1 |
Trevor | 9cd50f7 | 2013-06-13 22:36:45 -0700 | [diff] [blame] | 195 | $ssltest -bio_pair -tls1 -custom_ext -serverinfo_file $serverinfo -serverinfo_sct -serverinfo_tack || exit 1 |
| 196 | |
Trevor | a398f82 | 2013-05-12 18:55:27 -0700 | [diff] [blame] | 197 | |
Adam Langley | a898936 | 2013-07-15 15:57:16 -0400 | [diff] [blame] | 198 | ############################################################################# |
| 199 | # ALPN tests |
| 200 | |
| 201 | $ssltest -bio_pair -tls1 -alpn_client foo -alpn_server bar || exit 1 |
| 202 | $ssltest -bio_pair -tls1 -alpn_client foo -alpn_server foo -alpn_expected foo || exit 1 |
| 203 | $ssltest -bio_pair -tls1 -alpn_client foo,bar -alpn_server foo -alpn_expected foo || exit 1 |
| 204 | $ssltest -bio_pair -tls1 -alpn_client bar,foo -alpn_server foo -alpn_expected foo || exit 1 |
| 205 | $ssltest -bio_pair -tls1 -alpn_client bar,foo -alpn_server foo,bar -alpn_expected foo || exit 1 |
| 206 | $ssltest -bio_pair -tls1 -alpn_client bar,foo -alpn_server bar,foo -alpn_expected bar || exit 1 |
| 207 | $ssltest -bio_pair -tls1 -alpn_client foo,bar -alpn_server bar,foo -alpn_expected bar || exit 1 |
| 208 | $ssltest -bio_pair -tls1 -alpn_client baz -alpn_server bar,foo || exit 1 |
| 209 | |
Ben Laurie | edc032b | 2011-03-12 17:01:19 +0000 | [diff] [blame] | 210 | if ../util/shlib_wrap.sh ../apps/openssl no-srp; then |
| 211 | echo skipping SRP tests |
| 212 | else |
| 213 | echo test tls1 with SRP |
| 214 | $ssltest -tls1 -cipher SRP -srpuser test -srppass abc123 |
| 215 | |
| 216 | echo test tls1 with SRP via BIO pair |
| 217 | $ssltest -bio_pair -tls1 -cipher SRP -srpuser test -srppass abc123 |
Dr. Stephen Henson | 562fd0d | 2014-08-08 11:19:39 +0100 | [diff] [blame] | 218 | |
| 219 | echo test tls1 with SRP auth |
| 220 | $ssltest -tls1 -cipher aSRP -srpuser test -srppass abc123 |
| 221 | |
| 222 | echo test tls1 with SRP auth via BIO pair |
| 223 | $ssltest -bio_pair -tls1 -cipher aSRP -srpuser test -srppass abc123 |
Ben Laurie | edc032b | 2011-03-12 17:01:19 +0000 | [diff] [blame] | 224 | fi |
| 225 | |
Andy Polyakov | 77a27a5 | 2014-06-11 20:40:51 +0200 | [diff] [blame] | 226 | ############################################################################# |
| 227 | # Multi-buffer tests |
| 228 | |
| 229 | if [ -z "$extra" -a `uname -m` = "x86_64" ]; then |
| 230 | $ssltest -cipher AES128-SHA -bytes 8m || exit 1 |
| 231 | $ssltest -cipher AES128-SHA256 -bytes 8m || exit 1 |
| 232 | fi |
| 233 | |
Bodo Möller | 95d2959 | 1999-06-12 01:03:40 +0000 | [diff] [blame] | 234 | exit 0 |