tests: updated the suite to account for the removal of DSA by default
[gnutls:gnutls.git] / tests / dsa / testdsa
1 #!/bin/sh
2
3 # Copyright (C) 2010-2012 Free Software Foundation, Inc.
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 DEBUG=""
27 unset RETCODE
28
29 if test "${WINDIR}" != "";then
30   exit 77
31 fi 
32
33 . $srcdir/../scripts/common.sh
34
35 PORT="${PORT:-$RPORT}"
36
37 echo "Checking various DSA key sizes (port $PORT)"
38
39 # DSA 1024 + TLS 1.0
40
41 echo "Checking DSA-1024 with TLS 1.0"
42
43 launch_server $$ --priority "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+DHE-DSS:+SIGN-DSA-SHA256:+SIGN-DSA-SHA1" --x509certfile $srcdir/cert.dsa.1024.pem --x509keyfile $srcdir/dsa.1024.pem >/dev/null 2>&1 & PID=$!
44 wait_server $PID
45
46 PRIO="--priority NORMAL:+DHE-DSS:+SIGN-DSA-SHA512:+SIGN-DSA-SHA384:+SIGN-DSA-SHA256:+SIGN-DSA-SHA1"
47 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure </dev/null >/dev/null || \
48   fail $PID "Failed connection to a server with DSA 1024 key and TLS 1.0!"
49
50 echo "Checking server DSA-1024 with client DSA-1024 and TLS 1.0"
51
52 #try with client key of 1024 bits (should succeed) 
53 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.1024.pem --x509keyfile $srcdir/dsa.1024.pem </dev/null >/dev/null || \
54   fail $PID "Failed connection to a server with DSA 1024 key and TLS 1.0!"
55
56 echo "Checking server DSA-1024 with client DSA-2048 and TLS 1.0"
57
58 #try with client key of 2048 bits (should fail) 
59 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem </dev/null >/dev/null 2>&1 && \
60   fail $PID "Succeeded connection to a server with a client DSA 2048 key and TLS 1.0!"
61
62 echo "Checking server DSA-1024 with client DSA-3072 and TLS 1.0"
63
64 #try with client key of 3072 bits (should fail) 
65 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem </dev/null >/dev/null 2>&1 && \
66   fail $PID "Succeeded connection to a server with a client DSA 3072 key and TLS 1.0!"
67
68 kill $PID
69 wait
70
71 # DSA 1024 + TLS 1.2
72
73 echo "Checking DSA-1024 with TLS 1.2"
74
75 launch_server $$  --priority "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+DHE-DSS:+SIGN-DSA-SHA256:+SIGN-DSA-SHA1" --x509certfile $srcdir/cert.dsa.1024.pem --x509keyfile $srcdir/dsa.1024.pem >/dev/null 2>&1 & PID=$!
76 wait_server $PID
77
78 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure </dev/null >/dev/null || \
79   fail $PID "Failed connection to a server with DSA 1024 key and TLS 1.2!"
80
81 echo "Checking server DSA-1024 with client DSA-1024 and TLS 1.2"
82
83 #try with client key of 1024 bits (should succeed) 
84 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.1024.pem --x509keyfile $srcdir/dsa.1024.pem </dev/null >/dev/null || \
85   fail $PID "Failed connection to a server with DSA 1024 key and TLS 1.2!"
86
87 echo "Checking server DSA-1024 with client DSA-2048 and TLS 1.2"
88
89 #try with client key of 2048 bits (should succeed) 
90 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem </dev/null >/dev/null || \
91   fail $PID "Failed connection to a server with a client DSA 2048 key and TLS 1.2!"
92
93 echo "Checking server DSA-1024 with client DSA-3072 and TLS 1.2"
94
95 #try with client key of 3072 bits (should succeed) 
96 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem </dev/null >/dev/null || \
97   fail $PID "Failed connection to a server with a client DSA 3072 key and TLS 1.2!"
98
99
100 kill $PID
101 wait
102
103 # DSA 2048 + TLS 1.0
104
105 #echo "Checking DSA-2048 with TLS 1.0"
106
107 #launch_server $$  --priority "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0" --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem >/dev/null 2>&1 & PID=$!
108 #wait_server $PID
109
110 #$CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure </dev/null >/dev/null 2>&1 && \
111 #  fail $PID "Succeeded connection to a server with DSA 2048 key and TLS 1.0. Should have failed!"
112
113 #kill $PID
114 #wait
115
116 # DSA 2048 + TLS 1.2
117
118 echo "Checking DSA-2048 with TLS 1.2"
119
120 launch_server $$  --priority "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+DHE-DSS:+SIGN-DSA-SHA256:+SIGN-DSA-SHA1" --x509certfile $srcdir/cert.dsa.2048.pem --x509keyfile $srcdir/dsa.2048.pem >/dev/null 2>&1 & PID=$!
121 wait_server $PID
122
123 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure </dev/null >/dev/null || \
124   fail $PID "Failed connection to a server with DSA 2048 key and TLS 1.2!"
125
126 kill $PID
127 wait
128
129 # DSA 3072 + TLS 1.0
130
131 #echo "Checking DSA-3072 with TLS 1.0"
132
133 #launch_server $$  --priority "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0" --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem >/dev/null 2>&1 & PID=$!
134 #wait_server $PID
135 #
136 #$CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure </dev/null >/dev/null 2>&1 && \
137 #  fail $PID "Succeeded connection to a server with DSA 3072 key and TLS 1.0. Should have failed!"
138 #
139 #kill $PID
140 #wait
141
142 # DSA 3072 + TLS 1.2
143
144 echo "Checking DSA-3072 with TLS 1.2"
145
146 launch_server $$  --priority "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+DHE-DSS:+SIGN-DSA-SHA256:+SIGN-DSA-SHA1" --x509certfile $srcdir/cert.dsa.3072.pem --x509keyfile $srcdir/dsa.3072.pem >/dev/null 2>&1 & PID=$!
147 wait_server $PID
148
149 $CLI $DEBUG $PRIO -p $PORT 127.0.0.1 --insecure </dev/null >/dev/null || \
150   fail $PID "Failed connection to a server with DSA 3072 key and TLS 1.2!"
151
152 kill $PID
153 wait
154
155 exit 0
156