Blame tests/gnutls-cli-rawpk.sh

Packit Service 4684c1
#!/bin/sh
Packit Service 4684c1
Packit Service 4684c1
# Copyright (C) 2019 Tom Vrancken (dev@tomvrancken.nl)
Packit Service 4684c1
#
Packit Service 4684c1
# Author: Tom Vrancken
Packit Service 4684c1
#         Nikos Mavrogiannopoulos
Packit Service 4684c1
#
Packit Service 4684c1
# This file is part of GnuTLS.
Packit Service 4684c1
#
Packit Service 4684c1
# GnuTLS is free software; you can redistribute it and/or modify it
Packit Service 4684c1
# under the terms of the GNU General Public License as published by the
Packit Service 4684c1
# Free Software Foundation; either version 3 of the License, or (at
Packit Service 4684c1
# your option) any later version.
Packit Service 4684c1
#
Packit Service 4684c1
# GnuTLS is distributed in the hope that it will be useful, but
Packit Service 4684c1
# WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 4684c1
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 4684c1
# General Public License for more details.
Packit Service 4684c1
#
Packit Service 4684c1
# You should have received a copy of the GNU Lesser General Public License
Packit Service 4684c1
# along with this program.  If not, see <https://www.gnu.org/licenses/>
Packit Service 4684c1
Packit Service 4684c1
srcdir="${srcdir:-.}"
Packit Service 4684c1
SERV="${SERV:-../src/gnutls-serv${EXEEXT}}"
Packit Service 4684c1
CLI="${CLI:-../src/gnutls-cli${EXEEXT}}"
Packit Service 4684c1
unset RETCODE
Packit Service 4684c1
CERTFILE1=rawpk-script1.$$.pem.tmp
Packit Service 4684c1
CERTFILE2=rawpk-script2.$$.pem.tmp
Packit Service 4684c1
Packit Service 4684c1
TMPFILE=rawpk-script.$$.log
Packit Service 4684c1
Packit Service 4684c1
if ! test -x "${SERV}"; then
Packit Service 4684c1
	exit 77
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
if ! test -x "${CLI}"; then
Packit Service 4684c1
	exit 77
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
if test "${WINDIR}" != ""; then
Packit Service 4684c1
	exit 77
Packit Service 4684c1
fi 
Packit Service 4684c1
Packit Service 4684c1
if ! test -z "${VALGRIND}"; then
Packit Service 4684c1
	VALGRIND="${LIBTOOL:-libtool} --mode=execute ${VALGRIND} --error-exitcode=15"
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
SERV="${SERV} -q"
Packit Service 4684c1
Packit Service 4684c1
. "${srcdir}/scripts/common.sh"
Packit Service 4684c1
Packit Service 4684c1
echo "Checking whether we can connect with raw public-keys"
Packit Service 4684c1
Packit Service 4684c1
cat <<__EOF__ >${CERTFILE1}
Packit Service 4684c1
-----BEGIN CERTIFICATE-----
Packit Service 4684c1
MIIEXDCCAsSgAwIBAgIIWkcxay17JgYwDQYJKoZIhvcNAQELBQAwQjEaMBgGA1UE
Packit Service 4684c1
AxMRdGVzdC1hbGwtZGVmYXVsdHMxCzAJBgNVBAYTAkFUMRcwFQYKCZImiZPyLGQB
Packit Service 4684c1
GRYHYmVidC5kZTAeFw0xNzEyMzAwNjI1NDhaFw0xOTEyMjAwNjI1NTFaMEIxGjAY
Packit Service 4684c1
BgNVBAMTEXRlc3QtYWxsLWRlZmF1bHRzMQswCQYDVQQGEwJBVDEXMBUGCgmSJomT
Packit Service 4684c1
8ixkARkWB2JlYnQuZGUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCv
Packit Service 4684c1
M1Y+Q4goCtHi3SLHTBQ14LS6NI4UbEa8YZFfaOfmOOufzwdNUntUkSA2PPS7mQ55
Packit Service 4684c1
SN+Sdel1x4f4EjfxCWhj0j0Y26OmJS+wYNz3oOdoKThLq4Mn5SumO7mhU684mZTi
Packit Service 4684c1
EP2qrxFeYvQqQBdjv8rfP2LJ+RsB/3CiwWdkx4qeudoSUCqzWo8e6K2ul0JJuk+Z
Packit Service 4684c1
fvqkPpDl+cVTikmxNwqjAt4Ef9oiT1YjUIBUae+RCdNZEa6d2AhW+4bD+vl0Pci+
Packit Service 4684c1
EBPzhLeR8iYuIEX66Tpv8AUvv412SuvVZbizGP5EDH4gkWtNWem9yNPCHA9rBqrC
Packit Service 4684c1
6Nib4TPPLm1aN4mJyLdoQ1gD0STHcFADo+1H0JDywzxlgkks9cj5sQmApO7+AuGs
Packit Service 4684c1
JoUDAp4g4LHnBw/H/5esVta5Pn7GThKwu7PRY0Y59ZKQrT5deXm9TeySdav+9wR/
Packit Service 4684c1
5aiIZpAsAM5zWnN5qAP58Xl+pa0qN48GPcwmAsa4Zh9ehGhzR00MFHD3V8i0rFcC
Packit Service 4684c1
AwEAAaNWMFQwDAYDVR0TAQH/BAIwADAUBgNVHREEDTALgglsb2NhbGhvc3QwDwYD
Packit Service 4684c1
VR0PAQH/BAUDAwegADAdBgNVHQ4EFgQU0tGobgnLApQRxvbzIhOT2gAUQAYwDQYJ
Packit Service 4684c1
KoZIhvcNAQELBQADggGBAHmqS1jOY5J9ad63aFXaei0lZhTnYCsFOGWuyLqZtz9K
Packit Service 4684c1
21n0V8WVXeGmBjXkYNS3LCwPwFqKsp3vhsh4Hw5cyKkfQIri0HlWASYiJCPZxDLH
Packit Service 4684c1
odVJSOPV65Q+gmhT/ltHK5CW4DJ2Gy82vPEFqw3+Kca28IJ0m2wr0FlhOCvnHUa7
Packit Service 4684c1
GMS/+SdaMbsi1Eui0wUG/xWw8/2kY26IjhDJHrsTUjpYQ+vTy5oOjyq6Yf15Orjw
Packit Service 4684c1
tJTwGgRcfoiBGhzMgTbUfFCO33L6f0u/WR/sI7DYDO/6JW1USnTrMuwEL6/jMNAw
Packit Service 4684c1
QPl6irVOy/UwcIcLIBw8ta5cR8JVbhYuV7cUT9qDVwCOqotkwjDVsH2aztLLLr5d
Packit Service 4684c1
ywMQXvXh2UI4jSujWf9vYY3F7GkDGy/cOwVprZoAe0mXwvuCvDyNZqXJTxKtq/w9
Packit Service 4684c1
ZwOveNtNeXHOJljseNXLQPCfCcQ6mEUNjqwo2eDqH0OtJsQRN2CAUsn+YBnAALrv
Packit Service 4684c1
P4J46RbB7bnzQ9kHiv6KuA==
Packit Service 4684c1
-----END CERTIFICATE-----
Packit Service 4684c1
Packit Service 4684c1
-----BEGIN RSA PRIVATE KEY-----
Packit Service 4684c1
MIIG4gIBAAKCAYEArzNWPkOIKArR4t0ix0wUNeC0ujSOFGxGvGGRX2jn5jjrn88H
Packit Service 4684c1
TVJ7VJEgNjz0u5kOeUjfknXpdceH+BI38QloY9I9GNujpiUvsGDc96DnaCk4S6uD
Packit Service 4684c1
J+Urpju5oVOvOJmU4hD9qq8RXmL0KkAXY7/K3z9iyfkbAf9wosFnZMeKnrnaElAq
Packit Service 4684c1
s1qPHuitrpdCSbpPmX76pD6Q5fnFU4pJsTcKowLeBH/aIk9WI1CAVGnvkQnTWRGu
Packit Service 4684c1
ndgIVvuGw/r5dD3IvhAT84S3kfImLiBF+uk6b/AFL7+Ndkrr1WW4sxj+RAx+IJFr
Packit Service 4684c1
TVnpvcjTwhwPawaqwujYm+Ezzy5tWjeJici3aENYA9Ekx3BQA6PtR9CQ8sM8ZYJJ
Packit Service 4684c1
LPXI+bEJgKTu/gLhrCaFAwKeIOCx5wcPx/+XrFbWuT5+xk4SsLuz0WNGOfWSkK0+
Packit Service 4684c1
XXl5vU3sknWr/vcEf+WoiGaQLADOc1pzeagD+fF5fqWtKjePBj3MJgLGuGYfXoRo
Packit Service 4684c1
c0dNDBRw91fItKxXAgMBAAECggGACEz1XBPVApioowf5Gtom5vqTdXMB/EO5AjnZ
Packit Service 4684c1
Kl0NB6JQv4yOewJaZ4JMtWUj7zNsNSDXvtepTPQ8I+uxDNF2SaxvSps1YKzIWqHs
Packit Service 4684c1
NitAa3Xwfd1NZHl+HO0deWA+n/7ex+soKYsL1p33lXzd3tL6aKNXKdyMhAa3Lm7d
Packit Service 4684c1
WDAACE8j3tQ/ganbuAosGGaANIAIP2x9sYRpVwwDZlbZ8PR7o4eCP1JTYmbB3QB2
Packit Service 4684c1
ZAl02TlO8xxcWowesQhPtT9RzEkVAqKC8EULvdvY4b5OFQxkmLDQYv/c+HqetKQ7
Packit Service 4684c1
/ewkp/PRndGJ+k0Nebr6G2yIj6D3pN1YfquTfwGMi2yTZh4hQgkXi2WP8KRRgpIU
Packit Service 4684c1
iUfsSA9wZ4s2WNTMPQANfztP2cUVSPHW8UlTM373qLc3TGDuxmR+h7vqeQ0kVakL
Packit Service 4684c1
vhQ+HkEvQ2yrxc3m3g1BDoM3/ShHx7IskBqeX3L3Ad7pZpu/Q+Y/z5tVtDUY42LW
Packit Service 4684c1
DTeB/mKZcKZLK0BCz+o4L9KPceQxAoHBANZfiYobRMXmT0yOfTj68JWR/g7B9XBV
Packit Service 4684c1
rQ03xKxpI9mVckAT52xPJCUsSRVyUbJDs4hnBOe/y3Uk3jejDoCoI1h8ZyKCwhHq
Packit Service 4684c1
Py0GFCmB/AzeYRchD0TY1H69r4PZjloGX6SWlha784ajcJspoV5TYuLkhOVDFsA/
Packit Service 4684c1
R4Yu4irkQ2hugPT/q3ysiDXgQSB9+SqCYGUfMbadC+Ppm5+egTF8uyHJeV4YQ/Jr
Packit Service 4684c1
CNvsA6wxnONg0gbhsd3wLixjzz8jfJ1N6QKBwQDROIg0JumHkO5pl7wdKUSRx43y
Packit Service 4684c1
OOBNOf3KqGsRT8EDnRcepJy1gdg/SIp5/MRi+PJLqDfLNcIr8gQhanJnZ160UFVX
Packit Service 4684c1
8IhJ02Of/NGrFvctURJ3Dt63SspIoi6Yt/7Z1IQrvxpHsD3eaNtqywtYF59yhkdB
Packit Service 4684c1
hKomPn++LraDyXHqu0xCuO9te61ZP2haHhPsGI1Z2fuep5dnZJRLNR9BZWuqmkv9
Packit Service 4684c1
qj34ftm6Np8qSpdp9GotsRL2WIRaNF/sP+Z6gD8CgcAF7VZMLzzTi+6dW0MzFB0a
Packit Service 4684c1
xZKUreAvXu8N8oDJk46eMXebNfGsGPQS4wqSQTrpBt4r401Law4hCwfp2eRIwl1X
Packit Service 4684c1
0Pi5B4x+Gk/s2sIr86AYav2cOhnF+YjGiFAWASnia1Kxpkg4ELJHArXWVGxVw1B0
Packit Service 4684c1
nYTfId+7KQS9PQab0PvcI1IFdBw1sj+B3dVvJIyDFF+97ALf3a+6eXcIDsXbrGsw
Packit Service 4684c1
H/XvGBSo2zS/f+MKG8UOtFqaPhtA26crKwdL45tKbiECgcAO468NxxcnhrDw4tOI
Packit Service 4684c1
X795gHIhotqTpGTjX0j/WmWqFCvpCl38rNju6AKy28I+KOlVaQtPcuv2pKqWljS+
Packit Service 4684c1
FyUuP+lS8NNCLcERSbTCMEg2+WYPAwfmk3QB50jZpX6FkhI16su7/lbo1R2IZBrS
Packit Service 4684c1
khvO0q+Pghl5z0jYCAsFJfjtc5bhyLeBWyPjDhgnEazpSHYGxvSZPeQQf5/uGkG3
Packit Service 4684c1
LbiT05dE3jC61ow4LFr3b4eHCtXjmo526aXBpaiN754/aZECgcBAK3aOmgwI5vw4
Packit Service 4684c1
7a94mWffD0LzHl26D2ayXHvXmzjTOv7hsvilUTitdlqNrlZ3AxOWX1nGUcxdUwPT
Packit Service 4684c1
Ri1h4yIi28MvTjBD+wvXOGwmINGkBFWKIzkhh/bvbzQsuRSmG09JF1tBJjE6oCUs
Packit Service 4684c1
5ZJ7v0NCtg7yGOY8ciWIpahFc796prk17ZgIn/t0hebc9ZTaIat5QKbr4SWLZJEl
Packit Service 4684c1
i2yISkQxkJZp8sTwSlIGZSBpuZcDq9AdUjan1WhGgl4hpHpjr3Y=
Packit Service 4684c1
-----END RSA PRIVATE KEY-----
Packit Service 4684c1
__EOF__
Packit Service 4684c1
Packit Service 4684c1
cat <<__EOF__ >${CERTFILE2}
Packit Service 4684c1
-----BEGIN PUBLIC KEY-----
Packit Service 4684c1
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAtfCQ/U13p076UUEggNm8
Packit Service 4684c1
mI+bEilHrvKiyZpY/NZ2JYhmU+n0ChuH6XweXuiuW2gKR/Fl0vpGAxhugQAR3lMS
Packit Service 4684c1
0XJZjg4z1gFP0BMeR0YYQuWe2Gfg24fUNPluHCf+dJMHAadIVKyUvVKFPDTwu6yU
Packit Service 4684c1
lVafn0uoMme8b51yAwQAeXGOJnTFHSaRhuDWAokaTsW0kdAr5FSxMadSTVuDNSav
Packit Service 4684c1
ic6qSUimJvPjT+URzpIjy/2MG8aj00At1MSj8sC/g5JuBvMKXe4mg6/Xd1YsP9gT
Packit Service 4684c1
GhpfuBzwt+H4HDm4MzwNqdWNJ7pAhdcBOztqsScZJUqmGT742Fr0OjYYOFvHYLcx
Packit Service 4684c1
SMD65huLlKTiQwg0HocVFA/VilLLV65cW+AUakr0YCXKyucPz4omVy/RINi663Bn
Packit Service 4684c1
UyIR3pkOwbr71syuiU1S9cMnG0BxHsPmbvgaYttnCwp0cexB8MrJNJv5FcKLOGUL
Packit Service 4684c1
MMCvSIT7elYwGN2p5gtAg1RLmyVvubTmkOAmxAgybgqHAgMBAAE=
Packit Service 4684c1
-----END PUBLIC KEY-----
Packit Service 4684c1
Packit Service 4684c1
-----BEGIN RSA PRIVATE KEY-----
Packit Service 4684c1
MIIG4gIBAAKCAYEAtfCQ/U13p076UUEggNm8mI+bEilHrvKiyZpY/NZ2JYhmU+n0
Packit Service 4684c1
ChuH6XweXuiuW2gKR/Fl0vpGAxhugQAR3lMS0XJZjg4z1gFP0BMeR0YYQuWe2Gfg
Packit Service 4684c1
24fUNPluHCf+dJMHAadIVKyUvVKFPDTwu6yUlVafn0uoMme8b51yAwQAeXGOJnTF
Packit Service 4684c1
HSaRhuDWAokaTsW0kdAr5FSxMadSTVuDNSavic6qSUimJvPjT+URzpIjy/2MG8aj
Packit Service 4684c1
00At1MSj8sC/g5JuBvMKXe4mg6/Xd1YsP9gTGhpfuBzwt+H4HDm4MzwNqdWNJ7pA
Packit Service 4684c1
hdcBOztqsScZJUqmGT742Fr0OjYYOFvHYLcxSMD65huLlKTiQwg0HocVFA/VilLL
Packit Service 4684c1
V65cW+AUakr0YCXKyucPz4omVy/RINi663BnUyIR3pkOwbr71syuiU1S9cMnG0Bx
Packit Service 4684c1
HsPmbvgaYttnCwp0cexB8MrJNJv5FcKLOGULMMCvSIT7elYwGN2p5gtAg1RLmyVv
Packit Service 4684c1
ubTmkOAmxAgybgqHAgMBAAECggGAAoHBDaxulKCS9GGoV/4oChYYdeSZt0Bim9KD
Packit Service 4684c1
nWA7GoNJnahgk28TrVTnejlMhbfmRF2AIKsQIeTJSP++P0j3vmkL8NgjQLSd6+kH
Packit Service 4684c1
hsXhebJ+QM8VmxDBDMXPDZZDfEm2VACBD6GdHwqvCUhVdNCI75HU+zXoqGEjiIor
Packit Service 4684c1
0vzQINw+sCr1uFQatzgL2tcWxLUWqteqcyfzlRKQIL69DRNuYcC2OfJFT84WeLhY
Packit Service 4684c1
SXdcBOiGcK+I/FUrDH51H9gmC2MOGRnWsB0daTMUraJ2or9TCH3PrULGshlMuMzs
Packit Service 4684c1
aMnecKf79DBKj4BO/x2VFo2rq7H2uPczv6+6bHapjagMtxWcogFceUqjNXnnWyiK
Packit Service 4684c1
8oH7iin2PnIDUX+ks3YwQ9hpbJIy3V9UF2J6PgyaKDGfyT2mVoLmTbD0IpPlpF7G
Packit Service 4684c1
xGdUCEVB3AqB1nA8KE6vim8BKktInVM1fMylR/n0jj7mSK1oqqH76S1kmfH4sla/
Packit Service 4684c1
KetthtIy2IVnljsgIbrABp1A5gd5AoHBANnDTBXsDMA9VE+ArOB8WNkzT1gl44QO
Packit Service 4684c1
cKHLJQ2sTGNrSA5m9xjGgcmOogJTw5wxz5vPqqKol0xpIEHIAmftREt1qpem7+Gi
Packit Service 4684c1
CNslPzHR9PYe5XGAV3bgFe4iL2Q9dD+rOx5/EK9GroqNtNNSEzcckAu414whIazb
Packit Service 4684c1
sNhFcsCd1Yn6kadfeMRdt8MQ4sgQWWxON1gjOynbx5lHuLqZs8SYUJ6v3RRn7ZXv
Packit Service 4684c1
cGI9NeuAxHDpZPqhnpsFyfWbLFHJIUaaVQKBwQDV4vmL0gpdiBfKPS6D8OkVSayQ
Packit Service 4684c1
CBLoaq9sW4VWPpv83lTtB6nf6zfhxs7ho+0aosieV5KQkJho0KY5mHvKfFO5ih1g
Packit Service 4684c1
ADtG90X37tVxHyQLXxqBpOBQO12lVsc/ILO6hqDOFoAzGMPpT43CrF2/09GQM/uA
Packit Service 4684c1
Uo2s0Z9mvMalybtWcGDrsfGQhuY5soeEho9gziAC3zFMtSZJDBd5pf+Ls2ZcBDFp
Packit Service 4684c1
5GrIvVFYGIOqbSheeSuYyhgZGHiAXtibRkroZWsCgcAeCMiisWbk0NCjEn1FjQD4
Packit Service 4684c1
HBKSds9VdGRmfE1FAIGcqLxMeDkWarKV6R1BMupkzZ3zwIWpX5VWjZ1MVVi3msrz
Packit Service 4684c1
mWwI9JZbSWztRMrdhTbDB2nf6LKni6qaqI5exfcVnPlPcHkNo7MJGxhYmRZbYI4h
Packit Service 4684c1
f8IC6sLpQ3e1rIZyOJKuMCgMrKdMdhyVQ+vzagXbYUJS3rEXSd/SrUi2O+LGd7eO
Packit Service 4684c1
23Sjjt3+8wJOGmEodR8i753kz4u/l+HOBTPsp8/2G+0CgcBD72Pz1TMVojRsOCKe
Packit Service 4684c1
JdbivBPja60VxU0Szb78Nca1+qhe4SBDzyJgxBTR9o9I9otiP859vG+sWxlxEc2/
Packit Service 4684c1
8t1lAUlzRJ+PWtsOdP22gH2iXwK8SvI0iaak7Xs7wddUV46b5umxURxo7qvIOZdN
Packit Service 4684c1
ZqoZc2leyNnXGn3W0/8EiZ7HRcqDEnH3xeE6UkpY/aRsywu/3cR66M7QRNbv/Jm+
Packit Service 4684c1
daz9bReE2thQClHb+W1YpHM+Dp6aWRZuYidkHrwOFbWVOyECgcBSsN2yk6eV9pmQ
Packit Service 4684c1
p4yHZcJ6QdCHm1KqdAMK/pSurjSf3+281mkxTAkZBGLl2QwZKEBTapKZhvsoC3+d
Packit Service 4684c1
fpk1UZneP1g9PHoRS7rooQV5baUj0sOd3RyD3iylb1soyyEKWxbzdiS/nswYbwCV
Packit Service 4684c1
LMvucEsmS5aIfIUo4ntlNs3bVZqLdh0BAG9+WuimpYyp7pxrvuj2FM+gwbwDZvto
Packit Service 4684c1
O2/1wSKkPX2klUKg1hNNELJAXfxHLw2+NvV9x4rDiu5xJHgDCD0=
Packit Service 4684c1
-----END RSA PRIVATE KEY-----
Packit Service 4684c1
__EOF__
Packit Service 4684c1
Packit Service 4684c1
trap "cleanup" EXIT QUIT
Packit Service 4684c1
Packit Service 4684c1
cleanup()
Packit Service 4684c1
{
Packit Service 4684c1
    kill ${PID} >/dev/null 2>&1
Packit Service 4684c1
    rm -f ${CERTFILE1} ${CERTFILE2}
Packit Service 4684c1
Packit Service 4684c1
}
Packit Service 4684c1
Packit Service 4684c1
echo " * testing server X.509, client RAW"
Packit Service 4684c1
Packit Service 4684c1
eval "${GETPORT}"
Packit Service 4684c1
launch_server $$ --echo --x509keyfile ${CERTFILE1} --x509certfile ${CERTFILE1} --priority NORMAL:-CTYPE-CLI-ALL:+CTYPE-CLI-RAWPK --require-client-cert
Packit Service 4684c1
PID=$!
Packit Service 4684c1
wait_server ${PID}
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:-CTYPE-CLI-ALL:+CTYPE-CLI-RAWPK --no-ca-verification --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2}  >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:+CTYPE-CLI-ALL --no-ca-verification --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2}  >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL --no-ca-verification --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2}  >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Certificate is required" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake has unexpectedly succeeded. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
kill ${PID}
Packit Service 4684c1
wait
Packit Service 4684c1
Packit Service 4684c1
echo " * testing server RAW, client none"
Packit Service 4684c1
eval "${GETPORT}"
Packit Service 4684c1
launch_server $$ --echo --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2} --priority NORMAL:+CTYPE-SRV-RAWPK
Packit Service 4684c1
PID=$!
Packit Service 4684c1
wait_server ${PID}
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:-CTYPE-SRV-ALL:+CTYPE-SRV-RAWPK --no-ca-verification >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:+CTYPE-SRV-ALL --no-ca-verification >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if test $? = 0;then
Packit Service 4684c1
	echo "Handshake has unexpectedly succeeded. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
kill ${PID}
Packit Service 4684c1
wait
Packit Service 4684c1
Packit Service 4684c1
echo " * testing server RAW, client RAW"
Packit Service 4684c1
eval "${GETPORT}"
Packit Service 4684c1
launch_server $$ --echo --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2} --priority NORMAL:+CTYPE-SRV-RAWPK:-CTYPE-CLI-ALL:+CTYPE-CLI-RAWPK --require-client-cert
Packit Service 4684c1
PID=$!
Packit Service 4684c1
wait_server ${PID}
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:-CTYPE-ALL:+CTYPE-SRV-RAWPK:+CTYPE-CLI-RAWPK --no-ca-verification --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2}  >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:+CTYPE-SRV-ALL:+CTYPE-CLI-ALL --no-ca-verification --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2}  >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if test $? = 0;then
Packit Service 4684c1
	echo "Handshake has unexpectedly succeeded. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
kill ${PID}
Packit Service 4684c1
wait
Packit Service 4684c1
Packit Service 4684c1
echo " * testing server X.509+RAW, client none"
Packit Service 4684c1
Packit Service 4684c1
eval "${GETPORT}"
Packit Service 4684c1
launch_server $$ --echo --x509keyfile ${CERTFILE1} --x509certfile ${CERTFILE1} --rawpkkeyfile ${CERTFILE2} --rawpkfile ${CERTFILE2} --priority NORMAL:+CTYPE-SRV-RAWPK
Packit Service 4684c1
PID=$!
Packit Service 4684c1
wait_server ${PID}
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:-CTYPE-SRV-ALL:+CTYPE-SRV-RAWPK --no-ca-verification >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:-CTYPE-SRV-ALL:+CTYPE-SRV-X509 --no-ca-verification >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL:+CTYPE-SRV-ALL --no-ca-verification >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
${VALGRIND} "${CLI}" -p "${PORT}" localhost --priority NORMAL --no-ca-verification >${TMPFILE} 2>&1 
Packit Service 4684c1
grep "Handshake was completed" ${TMPFILE}
Packit Service 4684c1
if ! test $? = 0;then
Packit Service 4684c1
	echo "Handshake failed. See ${TMPFILE} for details."
Packit Service 4684c1
	exit 1
Packit Service 4684c1
fi
Packit Service 4684c1
Packit Service 4684c1
kill ${PID}
Packit Service 4684c1
wait
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
rm -f ${TMPFILE} ${CERTFILE1} ${CERTFILE2}
Packit Service 4684c1
Packit Service 4684c1
exit 0