Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision e818b74be2170fbe957a07b0da4401c2b694b3b8 authored by Matt Caswell on 20 December 2019, 13:09:21 UTC, committed by Matt Caswell on 20 December 2019, 13:09:21 UTC
Prepare for 1.0.2u release
Reviewed-by: Paul Yang <kaishen.yy@antfin.com>
1 parent 7e0b689
  • Files
  • Changes
  • bd381cd
  • /
  • test
  • /
  • testssl
Raw File
Cook and download a directory from the Software Heritage Vault

You have requested the cooking of the directory with identifier None into a standard tar.gz archive.

Are you sure you want to continue ?

Download a directory from the Software Heritage Vault

You have requested the download of the directory with identifier None as a standard tar.gz archive.

Are you sure you want to continue ?

Cook and download a revision from the Software Heritage Vault

You have requested the cooking of the history heading to revision with identifier swh:1:rev:e818b74be2170fbe957a07b0da4401c2b694b3b8 into a bare git archive.

Are you sure you want to continue ?

Download a revision from the Software Heritage Vault

You have requested the download of the history heading to revision with identifier swh:1:rev:e818b74be2170fbe957a07b0da4401c2b694b3b8 as a bare git archive.

Are you sure you want to continue ?

Invalid Email !

The provided email is not well-formed.

Download link has expired

The requested archive is no longer available for download from the Software Heritage Vault.

Do you want to cook it again ?

Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • content
revision badge
swh:1:rev:e818b74be2170fbe957a07b0da4401c2b694b3b8
content badge Iframe embedding
swh:1:cnt:8bea40a4ce9c9f531dfaef8b011e4accc9ea8eab
testssl
#!/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

serverinfo="./serverinfo.pem"

#############################################################################

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

echo test dtlsv1
$ssltest -dtls1 $extra || exit 1

echo test dtlsv1 with server authentication
$ssltest -dtls1 -server_auth $CA $extra || exit 1

echo test dtlsv1 with client authentication
$ssltest -dtls1 -client_auth $CA $extra || exit 1

echo test dtlsv1 with both client and server authentication
$ssltest -dtls1 -server_auth -client_auth $CA $extra || exit 1

echo test dtlsv1.2
$ssltest -dtls12 $extra || exit 1

echo test dtlsv1.2 with server authentication
$ssltest -dtls12 -server_auth $CA $extra || exit 1

echo test dtlsv1.2 with client authentication
$ssltest -dtls12 -client_auth $CA $extra || exit 1

echo test dtlsv1.2 with both client and server authentication
$ssltest -dtls12 -server_auth -client_auth $CA $extra || exit 1

if [ $dsa_cert = NO ]; then
  echo 'test sslv2/sslv3 w/o (EC)DHE via BIO pair'
  $ssltest -bio_pair -no_dhe -no_ecdhe $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

test_cipher() {
    _cipher=$1
    echo "Testing $_cipher"
    prot=""
    if [ $2 = "SSLv3" ] ; then
      prot="-ssl3"
    fi
    $ssltest -cipher $_cipher $prot
    if [ $? -ne 0 ] ; then
	  echo "Failed $_cipher"
	  exit 1
    fi
}

echo "Testing ciphersuites"
for protocol in TLSv1.2 SSLv3; do
  echo "Testing ciphersuites for $protocol"
  for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do
    test_cipher $cipher $protocol
  done
  if ../util/shlib_wrap.sh ../apps/openssl no-dh; then
    echo "skipping RSA+DHE tests"
  else
    for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "EDH+aRSA+$protocol:-EXP" | tr ':' ' '`; do
      test_cipher $cipher $protocol
    done
    echo "testing connection with weak DH, expecting failure"
    if [ $protocol = "SSLv3" ] && ../util/shlib_wrap.sh ../apps/openssl no-ssl3; then
      echo "skipping weak DH test for disabled protocol"
    else
      if [ $protocol = "SSLv3" ] ; then
        $ssltest -cipher EDH -dhe512 -ssl3
      else
        $ssltest -cipher EDH -dhe512
      fi
      if [ $? -eq 0 ]; then
        echo "FAIL: connection with weak DH succeeded"
        exit 1
      fi
    fi
  fi
  if ../util/shlib_wrap.sh ../apps/openssl no-ec; then
    echo "skipping RSA+ECDHE tests"
  else
    for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "EECDH+aRSA+$protocol:-EXP" | tr ':' ' '`; do
      test_cipher $cipher $protocol
    done
  fi
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 (EC)DHE, multiple handshakes'
  ../util/shlib_wrap.sh ./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -no_dhe -no_ecdhe -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

echo test tls1 with PSK
$ssltest -tls1 -cipher PSK -psk abc123 $extra || exit 1

echo test tls1 with PSK via BIO pair
$ssltest -bio_pair -tls1 -cipher PSK -psk abc123 $extra || exit 1

#############################################################################
# Custom Extension tests

echo test tls1 with custom extensions
$ssltest -bio_pair -tls1 -custom_ext || exit 1

#############################################################################
# Serverinfo tests

echo test tls1 with serverinfo
$ssltest -bio_pair -tls1 -serverinfo_file $serverinfo || exit 1
$ssltest -bio_pair -tls1 -serverinfo_file $serverinfo -serverinfo_sct || exit 1
$ssltest -bio_pair -tls1 -serverinfo_file $serverinfo -serverinfo_tack || exit 1
$ssltest -bio_pair -tls1 -serverinfo_file $serverinfo -serverinfo_sct -serverinfo_tack || exit 1
$ssltest -bio_pair -tls1 -custom_ext -serverinfo_file $serverinfo -serverinfo_sct -serverinfo_tack || exit 1

#############################################################################
# SNI tests

$ssltest -bio_pair -sn_client foo || exit 1
$ssltest -bio_pair -sn_server1 foo || exit 1
$ssltest -bio_pair -sn_client foo -sn_server1 foo -sn_expect1 || exit 1
$ssltest -bio_pair -sn_client foo -sn_server1 bar -sn_expect1 || exit 1
$ssltest -bio_pair -sn_client foo -sn_server1 foo -sn_server2 bar -sn_expect1 || exit 1
$ssltest -bio_pair -sn_client bar -sn_server1 foo -sn_server2 bar -sn_expect2 || exit 1
# Negative test - make sure it doesn't crash, and doesn't switch contexts
$ssltest -bio_pair -sn_client foobar -sn_server1 foo -sn_server2 bar -sn_expect1 || exit 1

#############################################################################
# ALPN tests

$ssltest -bio_pair -tls1 -alpn_client foo -alpn_server bar || exit 1
$ssltest -bio_pair -tls1 -alpn_client foo -alpn_server foo -alpn_expected foo || exit 1
$ssltest -bio_pair -tls1 -alpn_client foo,bar -alpn_server foo -alpn_expected foo || exit 1
$ssltest -bio_pair -tls1 -alpn_client bar,foo -alpn_server foo -alpn_expected foo || exit 1
$ssltest -bio_pair -tls1 -alpn_client bar,foo -alpn_server foo,bar -alpn_expected foo || exit 1
$ssltest -bio_pair -tls1 -alpn_client bar,foo -alpn_server bar,foo -alpn_expected bar || exit 1
$ssltest -bio_pair -tls1 -alpn_client foo,bar -alpn_server bar,foo -alpn_expected bar || exit 1
$ssltest -bio_pair -tls1 -alpn_client baz -alpn_server bar,foo || exit 1


#############################################################################
# ALPN + SNI

$ssltest -bio_pair -alpn_client foo,bar -sn_client alice -alpn_server1 foo,123 -sn_server1 alice -alpn_server2 bar,456 -sn_server2 bob -alpn_expected foo || exit 1
$ssltest -bio_pair -alpn_client foo,bar -sn_client bob -alpn_server1 foo,123 -sn_server1 alice -alpn_server2 bar,456 -sn_server2 bob -alpn_expected bar || exit 1
$ssltest -bio_pair -alpn_client foo,bar -sn_client bob -sn_server1 alice -alpn_server2 bar,456 -sn_server2 bob -alpn_expected bar || exit 1

if ../util/shlib_wrap.sh ../apps/openssl no-srp; then
  echo skipping SRP tests
else
  echo test tls1 with SRP
  $ssltest -tls1 -cipher SRP -srpuser test -srppass abc123 || exit 1

  echo test tls1 with SRP via BIO pair
  $ssltest -bio_pair -tls1 -cipher SRP -srpuser test -srppass abc123 || exit 1

  echo test tls1 with SRP auth
  $ssltest -tls1 -cipher aSRP -srpuser test -srppass abc123 || exit 1

  echo test tls1 with SRP auth via BIO pair
  $ssltest -bio_pair -tls1 -cipher aSRP -srpuser test -srppass abc123 || exit 1
fi

#############################################################################
# Multi-buffer tests

if [ -z "$extra" -a `uname -m` = "x86_64" ]; then
  $ssltest -cipher AES128-SHA    -bytes 8m	|| exit 1
  $ssltest -cipher AES128-SHA256 -bytes 8m	|| exit 1
fi

#############################################################################
# Signature algorithms + SNI

$ssltest -tls12 -sn_client server1 -sn_server1 server1 -sn_server2 server2 -sn_expect1 -client_sigalgs RSA+SHA256 -server_digest_expect SHA256 || exit 1
$ssltest -tls12 -sn_client server1 -sn_server1 server1 -sn_server2 server2 -sn_expect1 -client_sigalgs RSA+SHA256 -server_digest_expect SHA256 -sni_in_cert_cb || exit 1
# Switching SSL_CTX on SNI must not break signature algorithm negotiation.
$ssltest -tls12 -sn_client server2 -sn_server1 server1 -sn_server2 server2 -sn_expect2 -client_sigalgs RSA+SHA256 -server_digest_expect SHA256 || exit 1
$ssltest -tls12 -sn_client server2 -sn_server1 server1 -sn_server2 server2 -sn_expect2 -client_sigalgs RSA+SHA256 -server_digest_expect SHA256 -sni_in_cert_cb || exit 1


$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 no -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 no -c_ticket yes -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 yes -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 yes -c_ticket yes -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 no -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 no -c_ticket yes -ticket_expect yes || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 yes -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client alice -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 yes -c_ticket yes -ticket_expect yes || exit 1

$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 no -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 no -c_ticket yes -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 yes -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 no -s_ticket2 yes -c_ticket yes -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 no -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 no -c_ticket yes -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 yes -c_ticket no -ticket_expect no || exit 1
$ssltest -bio_pair -sn_client bob -sn_server1 alice -sn_server2 bob -s_ticket1 yes -s_ticket2 yes -c_ticket yes -ticket_expect yes || exit 1

$ssltest -bio_pair -s_ticket1 broken -c_ticket yes -ticket_expect no || exit 1

exit 0
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top