Add private/public key conversion tests
[openssl.git] / test / tkey
1 #!/bin/sh
2
3 t=$1
4 ktype=$2
5 ptype=$3
6
7 if ../util/shlib_wrap.sh ../apps/openssl no-$ktype; then
8   echo skipping $ktype $ptype conversion test
9   exit 0
10 fi
11
12 if [ $ptype = "public" ]; then
13     cmd="../util/shlib_wrap.sh ../apps/openssl $ktype -pubin -pubout"
14 else
15     cmd="../util/shlib_wrap.sh ../apps/openssl $ktype"
16 fi
17
18 echo testing $ktype $ptype conversions
19 cp $t $ktype-fff.p
20
21 echo "p -> d"
22 $cmd -in $ktype-fff.p -inform p -outform d >$ktype-f.d
23 if [ $? != 0 ]; then exit 1; fi
24 echo "p -> p"
25 $cmd -in $ktype-fff.p -inform p -outform p >$ktype-f.p
26 if [ $? != 0 ]; then exit 1; fi
27
28 echo "d -> d"
29 $cmd -in $ktype-f.d -inform d -outform d >$ktype-ff.d1
30 if [ $? != 0 ]; then exit 1; fi
31 echo "p -> d"
32 $cmd -in $ktype-f.p -inform p -outform d >$ktype-ff.d3
33 if [ $? != 0 ]; then exit 1; fi
34
35 echo "d -> p"
36 $cmd -in $ktype-f.d -inform d -outform p >$ktype-ff.p1
37 if [ $? != 0 ]; then exit 1; fi
38 echo "p -> p"
39 $cmd -in $ktype-f.p -inform p -outform p >$ktype-ff.p3
40 if [ $? != 0 ]; then exit 1; fi
41
42 cmp $ktype-fff.p $ktype-f.p
43 if [ $? != 0 ]; then exit 1; fi
44 cmp $ktype-fff.p $ktype-ff.p1
45 if [ $? != 0 ]; then exit 1; fi
46 cmp $ktype-fff.p $ktype-ff.p3
47 if [ $? != 0 ]; then exit 1; fi
48
49 cmp $ktype-f.p $ktype-ff.p1
50 if [ $? != 0 ]; then exit 1; fi
51 cmp $ktype-f.p $ktype-ff.p3
52 if [ $? != 0 ]; then exit 1; fi
53
54 /bin/rm -f $ktype-f.* $ktype-ff.* $ktype-fff.*
55
56 if [ $ptype = "public" ]; then
57     exit 0
58 fi
59
60 cmd="../util/shlib_wrap.sh ../apps/openssl pkey"
61
62 echo testing $ktype PKCS#8 conversions
63
64 $cmd -in $t -out $ktype-fff.p
65
66 echo "p -> d"
67 $cmd -in $ktype-fff.p -inform p -outform d >$ktype-f.d
68 if [ $? != 0 ]; then exit 1; fi
69 echo "p -> p"
70 $cmd -in $ktype-fff.p -inform p -outform p >$ktype-f.p
71 if [ $? != 0 ]; then exit 1; fi
72
73 echo "d -> d"
74 $cmd -in $ktype-f.d -inform d -outform d >$ktype-ff.d1
75 if [ $? != 0 ]; then exit 1; fi
76 echo "p -> d"
77 $cmd -in $ktype-f.p -inform p -outform d >$ktype-ff.d3
78 if [ $? != 0 ]; then exit 1; fi
79
80 echo "d -> p"
81 $cmd -in $ktype-f.d -inform d -outform p >$ktype-ff.p1
82 if [ $? != 0 ]; then exit 1; fi
83 echo "p -> p"
84 $cmd -in $ktype-f.p -inform p -outform p >$ktype-ff.p3
85 if [ $? != 0 ]; then exit 1; fi
86
87 cmp $ktype-fff.p $ktype-f.p
88 if [ $? != 0 ]; then exit 1; fi
89 cmp $ktype-fff.p $ktype-ff.p1
90 if [ $? != 0 ]; then exit 1; fi
91 cmp $ktype-fff.p $ktype-ff.p3
92 if [ $? != 0 ]; then exit 1; fi
93
94 cmp $ktype-f.p $ktype-ff.p1
95 if [ $? != 0 ]; then exit 1; fi
96 cmp $ktype-f.p $ktype-ff.p3
97 if [ $? != 0 ]; then exit 1; fi
98
99 /bin/rm -f $ktype-f.* $ktype-ff.* $ktype-fff.*