Add support for mechanisms with no integrity
[openssh.git] / regress / ssh-com-keygen.sh
1 #       $OpenBSD: ssh-com-keygen.sh,v 1.4 2004/02/24 17:06:52 markus Exp $
2 #       Placed in the Public Domain.
3
4 tid="ssh.com key import"
5
6 #TEST_COMBASE=/path/to/ssh/com/binaries
7 if [ "X${TEST_COMBASE}" = "X" ]; then
8         fatal '$TEST_COMBASE is not set'
9 fi
10
11 VERSIONS="
12         2.0.10
13         2.0.12
14         2.0.13
15         2.1.0
16         2.2.0
17         2.3.0
18         2.3.1
19         2.4.0
20         3.0.0
21         3.1.0
22         3.2.0
23         3.2.2
24         3.2.3
25         3.2.5
26         3.2.9
27         3.2.9.1
28         3.3.0"
29
30 COMPRV=${OBJ}/comkey
31 COMPUB=${COMPRV}.pub
32 OPENSSHPRV=${OBJ}/opensshkey
33 OPENSSHPUB=${OPENSSHPRV}.pub
34
35 # go for it
36 for v in ${VERSIONS}; do
37         keygen=${TEST_COMBASE}/${v}/ssh-keygen2
38         if [ ! -x ${keygen} ]; then
39                 continue
40         fi
41         types="dss"
42         case $v in
43         2.3.1|3.*)
44                 types="$types rsa"
45                 ;;
46         esac
47         for t in $types; do
48                 verbose "ssh-keygen $v/$t"
49                 rm -f $COMPRV $COMPUB $OPENSSHPRV $OPENSSHPUB
50                 ${keygen} -q -P -t $t ${COMPRV} > /dev/null 2>&1
51                 if [ $? -ne 0 ]; then
52                         fail "${keygen} -t $t failed"
53                         continue
54                 fi
55                 ${SSHKEYGEN} -if ${COMPUB} > ${OPENSSHPUB}
56                 if [ $? -ne 0 ]; then
57                         fail "import public key ($v/$t) failed"
58                         continue
59                 fi
60                 ${SSHKEYGEN} -if ${COMPRV} > ${OPENSSHPRV}
61                 if [ $? -ne 0 ]; then
62                         fail "import private key ($v/$t) failed"
63                         continue
64                 fi
65                 chmod 600 ${OPENSSHPRV}
66                 ${SSHKEYGEN} -yf ${OPENSSHPRV} |\
67                         diff - ${OPENSSHPUB}
68                 if [ $? -ne 0 ]; then
69                         fail "public keys ($v/$t) differ"
70                 fi
71         done
72 done
73
74 rm -f $COMPRV $COMPUB $OPENSSHPRV $OPENSSHPUB