xref: /netbsd/crypto/external/bsd/netpgp/dist/tst (revision 6550d01e)
1#! /bin/sh
2
3while [ $# -gt 0 ]; do
4	case "$1" in
5	-v)
6		set -x
7		;;
8	*)
9		break
10		;;
11	esac
12	shift
13done
14
15env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../libmj && \
16	make cleandir ; \
17	su root -c "make includes"; \
18	make ; \
19	su root -c "make install"'
20env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../lib && \
21	make cleandir ; \
22	su root -c "make includes"; \
23	make ; \
24	su root -c "make install"'
25env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../netpgp && \
26	make cleandir ; \
27	make ; \
28	su root -c "make install"'
29env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../netpgpkeys && \
30	make cleandir ; \
31	make ; \
32	su root -c "make install"'
33env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../netpgpverify && \
34	make cleandir ; \
35	make ; \
36	su root -c "make install"'
37
38passed=0
39total=36
40rm -f passed
41date > passed
42echo "======> sign/verify 180938 file"
43cp configure a
44/usr/bin/netpgp --sign a
45/usr/bin/netpgp --verify a.gpg && passed=$(expr $passed + 1)
46echo "1 " $passed >> passed
47echo "======> attempt to verify an unsigned file"
48/usr/bin/netpgp --verify a || passed=$(expr $passed + 1)
49echo "2 " $passed >> passed
50echo "======> encrypt/decrypt 10809 file"
51cp src/netpgp/netpgp.1 b
52/usr/bin/netpgp --encrypt b
53/usr/bin/netpgp --decrypt b.gpg
54diff src/netpgp/netpgp.1 b && passed=$(expr $passed + 1)
55echo "3 " $passed >> passed
56echo "======> encrypt/decrypt 180938 file"
57cp configure c
58/usr/bin/netpgp --encrypt c
59/usr/bin/netpgp --decrypt c.gpg
60diff configure c && passed=$(expr $passed + 1)
61echo "4 " $passed >> passed
62echo "======> encrypt/decrypt bigass file"
63cat configure configure configure configure configure configure > d
64ls -l d
65cp d e
66/usr/bin/netpgp --encrypt d
67/usr/bin/netpgp --decrypt d.gpg
68diff e d && passed=$(expr $passed + 1)
69echo "5 " $passed >> passed
70echo "======> sign/verify detached signature file"
71cat configure configure configure configure configure configure > f
72/usr/bin/netpgp --sign --detached f
73ls -l f f.sig
74/usr/bin/netpgp --verify f.sig && passed=$(expr $passed + 1)
75echo "6 " $passed >> passed
76echo "======> cat signature - verified cat command"
77/usr/bin/netpgp --cat a.gpg > a2
78diff a a2 && passed=$(expr $passed + 1)
79echo "7 " $passed >> passed
80echo "======> another cat signature - verified cat command"
81/usr/bin/netpgp --cat --output=a3 a.gpg
82diff a a3 && passed=$(expr $passed + 1)
83echo "8 " $passed >> passed
84echo "======> netpgp list-packets test"
85/usr/bin/netpgp --list-packets || passed=$(expr $passed + 1)
86echo "9 " $passed >> passed
87echo "======> version information"
88/usr/bin/netpgp --version && passed=$(expr $passed + 1)
89echo "10 " $passed >> passed
90echo "======> netpgpverify file"
91/usr/bin/netpgpverify a.gpg && passed=$(expr $passed + 1)
92echo "11 " $passed >> passed
93echo "======> attempt to verify an unsigned file"
94/usr/bin/netpgpverify a || passed=$(expr $passed + 1)
95echo "12 " $passed >> passed
96echo "======> sign/verify detached signature file"
97ls -l f f.sig
98/usr/bin/netpgpverify f.sig && passed=$(expr $passed + 1)
99echo "13 " $passed >> passed
100echo "======> another verify signature - verified cat command"
101/usr/bin/netpgpverify --output=a3 a.gpg
102diff a a3 && passed=$(expr $passed + 1)
103echo "14 " $passed >> passed
104echo "======> list keys"
105/usr/bin/netpgpkeys --list-keys && passed=$(expr $passed + 1)
106echo "15 " $passed >> passed
107echo "======> version information"
108/usr/bin/netpgpverify --version && passed=$(expr $passed + 1)
109echo "16 " $passed >> passed
110echo "======> find specific key information"
111/usr/bin/netpgpkeys --get-key c0596823 agc@netbsd.org && passed=$(expr $passed + 1)
112echo "17 " $passed >> passed
113echo "======> ascii armoured signature"
114cp Makefile.am g
115/usr/bin/netpgp --sign --armor g && passed=$(expr $passed + 1)
116echo "18 " $passed >> passed
117echo "======> ascii armoured sig detection and verification"
118/usr/bin/netpgp --verify g.asc && passed=$(expr $passed + 1)
119echo "19 " $passed >> passed
120echo "======> ascii armoured signature of large file"
121cp Makefile.in g
122/usr/bin/netpgp --sign --armor g && passed=$(expr $passed + 1)
123echo "20 " $passed >> passed
124echo "======> ascii armoured sig detection and verification of large file"
125/usr/bin/netpgp --verify g.asc && passed=$(expr $passed + 1)
126echo "21 " $passed >> passed
127echo "======> verify memory by recognising ascii armour"
128/usr/bin/netpgp --cat < g.asc > g2
129diff g g2 && passed=$(expr $passed + 1)
130echo "22 " $passed >> passed
131echo "======> list ssh host RSA public key"
132/usr/bin/netpgpkeys --ssh --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --list-keys && passed=$(expr $passed + 1)
133echo "23 " $passed >> passed
134echo "======> sign/verify file with ssh host keys"
135cp configure a
136sudo /usr/bin/netpgp --ssh --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --sign a
137sudo chmod 644 a.gpg
138/usr/bin/netpgp --verify --ssh --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub a.gpg && passed=$(expr $passed + 1)
139echo "24 " $passed >> passed
140echo "======> pipeline and memory encrypt/decrypt"
141/usr/bin/netpgp --encrypt < a | /usr/bin/netpgp --decrypt > a4
142diff a a4 && passed=$(expr $passed + 1)
143echo "25 " $passed >> passed
144echo "======> pipeline and memory sign/verify"
145/usr/bin/netpgp --sign < a | /usr/bin/netpgp --cat > a5
146diff a a5 && passed=$(expr $passed + 1)
147echo "26 " $passed >> passed
148echo "======> verify within a duration"
149cp Makefile.am h
150/usr/bin/netpgp --sign --duration 6m --detached h
151/usr/bin/netpgp --verify h.sig && passed=$(expr $passed + 1)
152echo "27 " $passed >> passed
153echo "======> invalid signature - expired"
154rm -f h.sig
155/usr/bin/netpgp --sign --duration 2 --detached h
156sleep 3
157/usr/bin/netpgp --verify h.sig || passed=$(expr $passed + 1)
158echo "28 " $passed >> passed
159echo "======> list signatures and subkey signatures"
160/usr/bin/netpgpkeys --list-sigs && passed=$(expr $passed + 1)
161echo "29 " $passed >> passed
162echo "======> generate a new RSA key"
163/usr/bin/netpgpkeys --generate-key && passed=$(expr $passed + 1)
164echo "30 " $passed >> passed
165echo "======> ascii detached armoured signature"
166cp Makefile.am i
167/usr/bin/netpgp --sign --armor --detached i && passed=$(expr $passed + 1)
168echo "31 " $passed >> passed
169echo "======> ascii detached armoured sig detection and verification"
170/usr/bin/netpgp --verify i.asc && passed=$(expr $passed + 1)
171echo "32 " $passed >> passed
172echo "======> host ssh fingerprint and netpgp fingerprint"
173netpgpkey=$(/usr/bin/netpgpkeys --ssh --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --list-keys --hash=md5 | awk 'NR == 3 { print $3 $4 $5 $6 $7 $8 $9 $10 }')
174sshkey=$(/usr/bin/ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub | awk '{ gsub(":", "", $2); print $2 }')
175echo "host sshkey \"$sshkey\" = netpgpkey \"$netpgpkey\""
176[ $sshkey = $netpgpkey ] && passed=$(expr $passed + 1)
177echo "33 " $passed >> passed
178echo "======> user ssh fingerprint and netpgp fingerprint"
179netpgpkey=$(/usr/bin/netpgpkeys --ssh --list-keys --hash=md5 | awk 'NR == 3 { print $3 $4 $5 $6 $7 $8 $9 $10 }')
180sshkey=$(/usr/bin/ssh-keygen -l -f /home/agc/.ssh/id_rsa.pub | awk '{ gsub(":", "", $2); print $2 }')
181echo "user sshkey \"$sshkey\" = netpgpkey \"$netpgpkey\""
182[ $sshkey = $netpgpkey ] && passed=$(expr $passed + 1)
183echo "34 " $passed >> passed
184echo "======> single key listing"
185/usr/bin/netpgpkeys -l agc && passed=$(expr $passed + 1)
186echo "35 " $passed >> passed
187echo "======> pipeline and memory encrypt/decrypt with specified cipher"
188/usr/bin/netpgp -e --cipher camellia128 < a | /usr/bin/netpgp -d > a6
189diff a a6 && passed=$(expr $passed + 1)
190echo "36 " $passed >> passed
191rm -f a a.gpg b b.gpg c c.gpg d d.gpg e f f.sig g g.asc g2 a2 a3 a4 a5 a6 h h.sig i i.asc
192echo "Passed ${passed}/${total} tests"
193