Added copyright notices!
[gnutls:gnutls.git] / tests / openpgp-certs / testcerts
1 #!/bin/bash
2
3 # Copyright (C) 2010 Free Software Foundation
4 #
5 # Author: Nikos Mavrogiannopoulos
6 #
7 # This file is part of GNUTLS.
8 #
9 # GNUTLS is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by the
11 # Free Software Foundation; either version 3 of the License, or (at
12 # your option) any later version.
13 #
14 # GNUTLS is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with GNUTLS; if not, write to the Free Software Foundation,
21 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
23 srcdir="${srcdir:-.}"
24 SERV="${SERV:-../../src/gnutls-serv} -q"
25 CLI="${CLI:-../../src/gnutls-cli}"
26 PORT="${PORT:-5557}"
27 unset RETCODE
28
29 fail() {
30    echo "Failure: $1" >&2
31    RETCODE=${RETCODE:-${2:-1}}
32 }
33
34 echo "Checking OpenPGP certificate verification"
35
36 $SERV -p $PORT --pgpcertfile $srcdir/srv-public-127.0.0.1-signed.gpg --pgpkeyfile $srcdir/srv-secret.gpg >/dev/null 2>&1 &
37
38 # give the server a chance to initialize
39 sleep 2
40
41 #gnutls currently only considers PGP certificates verified only if
42 #all user IDs in the certificate were signed.
43
44 #$CLI -p $PORT 127.0.0.1 --pgpkeyring ca-public.gpg </dev/null >/dev/null || \
45 #  fail "Connection to verified IP address should have succeeded! (error code $?)" $?
46
47 $CLI -p $PORT 127.0.0.2 --pgpkeyring $srcdir/ca-public.gpg </dev/null >/dev/null && \
48   fail "Connection to unrecognized IP address should have failed!"
49
50 $CLI -p $PORT localhost --pgpkeyring $srcdir/ca-public.gpg </dev/null >/dev/null && \
51   fail "Connection to unverified (but present) 'localhost' should have failed!"
52
53 kill %1
54 wait
55
56 $SERV -p $PORT --pgpcertfile $srcdir/srv-public-localhost-signed.gpg --pgpkeyfile $srcdir/srv-secret.gpg >/dev/null 2>&1 &
57 # give the server a chance to initialize
58 sleep 2
59
60 echo | $CLI -p $PORT 127.0.0.1 --pgpkeyring $srcdir/ca-public.gpg </dev/null >/dev/null && \
61   fail "Connection to unverified IP address should have failed! (error code $?)" $?
62
63 $CLI -p $PORT 127.0.0.2 --pgpkeyring $srcdir/ca-public.gpg </dev/null >/dev/null && \
64   fail "Connection to unrecognized IP address should have failed!"
65
66 #see reason above
67 #$CLI -p $PORT localhost --pgpkeyring ca-public.gpg </dev/null >/dev/null || \
68 #  fail "Connection to verified 'localhost' should have succeded! (error code $?)" $?
69
70 kill %1 >/dev/null 2>&1
71 wait
72
73 $SERV -p $PORT --pgpcertfile $srcdir/srv-public-all-signed.gpg --pgpkeyfile $srcdir/srv-secret.gpg >/dev/null 2>&1 &
74 # give the server a chance to initialize
75 sleep 2
76 echo | $CLI -p $PORT 127.0.0.1 --pgpkeyring $srcdir/ca-public.gpg </dev/null >/dev/null || \
77   fail "Connection to signed PGP certificate should have succeeded! (error code $?)" $?
78
79 $CLI -p $PORT 127.0.0.2 --pgpkeyring $srcdir/ca-public.gpg </dev/null >/dev/null && \
80   fail "Connection to unrecognized IP address should have failed!"
81
82 kill %1 >/dev/null 2>&1
83 wait
84
85 exit ${RETCODE:-0}