xref: /netbsd-src/crypto/external/bsd/netpgp/dist/tst (revision 62a8debe1dc62962e18a1c918def78666141273b)
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 ../lib && \
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 ../netpgp && \
21	make cleandir ; \
22	make ; \
23	su root -c "make install"'
24env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../netpgpkeys && \
25	make cleandir ; \
26	make ; \
27	su root -c "make install"'
28env USETOOLS=no MAKEOBJDIRPREFIX=/usr/obj/i386 sh -c 'cd ../netpgpverify && \
29	make cleandir ; \
30	make ; \
31	su root -c "make install"'
32
33passed=0
34total=26
35echo "======> sign/verify 180938 file"
36cp configure a
37/usr/bin/netpgp --sign a
38/usr/bin/netpgp --verify a.gpg && passed=$(expr $passed + 1)
39echo "======> attempt to verify an unsigned file"
40/usr/bin/netpgp --verify a || passed=$(expr $passed + 1)
41echo "======> encrypt/decrypt 10809 file"
42cp src/netpgp/netpgp.1 b
43/usr/bin/netpgp --encrypt b
44/usr/bin/netpgp --decrypt b.gpg
45diff src/netpgp/netpgp.1 b && passed=$(expr $passed + 1)
46echo "======> encrypt/decrypt 180938 file"
47cp configure c
48/usr/bin/netpgp --encrypt c
49/usr/bin/netpgp --decrypt c.gpg
50diff configure c && passed=$(expr $passed + 1)
51echo "======> encrypt/decrypt bigass file"
52cat configure configure configure configure configure configure > d
53ls -l d
54cp d e
55/usr/bin/netpgp --encrypt d
56/usr/bin/netpgp --decrypt d.gpg
57diff e d && passed=$(expr $passed + 1)
58echo "======> sign/verify detached signature file"
59cat configure configure configure configure configure configure > f
60/usr/bin/netpgp --sign --detached f
61ls -l f f.sig
62/usr/bin/netpgp --verify f.sig && passed=$(expr $passed + 1)
63echo "======> cat signature - verified cat command"
64/usr/bin/netpgp --cat a.gpg > a2
65diff a a2 && passed=$(expr $passed + 1)
66echo "======> another cat signature - verified cat command"
67/usr/bin/netpgp --cat --output=a3 a.gpg
68diff a a3 && passed=$(expr $passed + 1)
69echo "======> netpgp list-packets test"
70/usr/bin/netpgp --list-packets || passed=$(expr $passed + 1)
71echo "======> version information"
72/usr/bin/netpgp --version
73echo "======> netpgpverify file"
74/usr/bin/netpgpverify a.gpg && passed=$(expr $passed + 1)
75echo "======> attempt to verify an unsigned file"
76/usr/bin/netpgpverify a || passed=$(expr $passed + 1)
77echo "======> sign/verify detached signature file"
78ls -l f f.sig
79/usr/bin/netpgpverify f.sig && passed=$(expr $passed + 1)
80echo "======> another verify signature - verified cat command"
81/usr/bin/netpgpverify --output=a3 a.gpg
82diff a a3 && passed=$(expr $passed + 1)
83echo "======> list keys"
84/usr/bin/netpgpkeys --list-keys && passed=$(expr $passed + 1)
85echo "======> version information"
86/usr/bin/netpgpverify --version
87echo "======> find specific key information"
88/usr/bin/netpgpkeys --get-key c0596823 agc@netbsd.org && passed=$(expr $passed + 1)
89echo "======> ascii armoured signature"
90cp Makefile.am g
91/usr/bin/netpgp --sign --armor g && passed=$(expr $passed + 1)
92echo "======> ascii armoured sig detection and verification"
93/usr/bin/netpgp --verify g.asc && passed=$(expr $passed + 1)
94echo "======> ascii armoured signature of large file"
95cp Makefile.in g
96/usr/bin/netpgp --sign --armor g && passed=$(expr $passed + 1)
97echo "======> ascii armoured sig detection and verification of large file"
98/usr/bin/netpgp --verify g.asc && passed=$(expr $passed + 1)
99echo "======> verify memory by recognising ascii armour"
100/usr/bin/netpgp --cat < g.asc > g2
101diff g g2 && passed=$(expr $passed + 1)
102echo "======> list ssh host RSA public key"
103/usr/bin/netpgpkeys --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --list-keys && passed=$(expr $passed + 1)
104echo "======> sign/verify file with ssh host keys"
105cp configure a
106sudo /usr/bin/netpgp --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --sign a
107sudo chmod 644 a.gpg
108/usr/bin/netpgp --verify --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub a.gpg && passed=$(expr $passed + 1)
109echo "======> pipeline and memory encrypt/decrypt"
110/usr/bin/netpgp --encrypt < a | /usr/bin/netpgp --decrypt > a4
111diff a a4 && passed=$(expr $passed + 1)
112echo "======> pipeline and memory sign/verify"
113/usr/bin/netpgp --sign < a | /usr/bin/netpgp --cat > a5
114diff a a5 && passed=$(expr $passed + 1)
115echo "======> verify within a duration"
116cp Makefile.am h
117/usr/bin/netpgp --sign --duration 6m --detached h
118/usr/bin/netpgp --verify h.sig && passed=$(expr $passed + 1)
119echo "======> invalid signature - expired"
120rm -f h.sig
121/usr/bin/netpgp --sign --duration 2 --detached h
122sleep 3
123/usr/bin/netpgp --verify h.sig || passed=$(expr $passed + 1)
124rm -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 h h.sig
125echo "Passed ${passed}/${total} tests"
126