xref: /minix3/crypto/external/bsd/openssl/dist/test/testss (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambuc#!/bin/sh
2*ebfedea0SLionel Sambuc
3*ebfedea0SLionel Sambucdigest='-sha1'
4*ebfedea0SLionel Sambucreqcmd="../util/shlib_wrap.sh ../apps/openssl req"
5*ebfedea0SLionel Sambucx509cmd="../util/shlib_wrap.sh ../apps/openssl x509 $digest"
6*ebfedea0SLionel Sambucverifycmd="../util/shlib_wrap.sh ../apps/openssl verify"
7*ebfedea0SLionel Sambucdummycnf="../apps/openssl.cnf"
8*ebfedea0SLionel Sambuc
9*ebfedea0SLionel SambucCAkey="keyCA.ss"
10*ebfedea0SLionel SambucCAcert="certCA.ss"
11*ebfedea0SLionel SambucCAreq="reqCA.ss"
12*ebfedea0SLionel SambucCAconf="CAss.cnf"
13*ebfedea0SLionel SambucCAreq2="req2CA.ss"	# temp
14*ebfedea0SLionel Sambuc
15*ebfedea0SLionel SambucUconf="Uss.cnf"
16*ebfedea0SLionel SambucUkey="keyU.ss"
17*ebfedea0SLionel SambucUreq="reqU.ss"
18*ebfedea0SLionel SambucUcert="certU.ss"
19*ebfedea0SLionel Sambuc
20*ebfedea0SLionel SambucP1conf="P1ss.cnf"
21*ebfedea0SLionel SambucP1key="keyP1.ss"
22*ebfedea0SLionel SambucP1req="reqP1.ss"
23*ebfedea0SLionel SambucP1cert="certP1.ss"
24*ebfedea0SLionel SambucP1intermediate="tmp_intP1.ss"
25*ebfedea0SLionel Sambuc
26*ebfedea0SLionel SambucP2conf="P2ss.cnf"
27*ebfedea0SLionel SambucP2key="keyP2.ss"
28*ebfedea0SLionel SambucP2req="reqP2.ss"
29*ebfedea0SLionel SambucP2cert="certP2.ss"
30*ebfedea0SLionel SambucP2intermediate="tmp_intP2.ss"
31*ebfedea0SLionel Sambuc
32*ebfedea0SLionel Sambucecho
33*ebfedea0SLionel Sambucecho "make a certificate request using 'req'"
34*ebfedea0SLionel Sambuc
35*ebfedea0SLionel Sambucecho "string to make the random number generator think it has entropy" >> ./.rnd
36*ebfedea0SLionel Sambuc
37*ebfedea0SLionel Sambucif ../util/shlib_wrap.sh ../apps/openssl no-rsa; then
38*ebfedea0SLionel Sambuc  req_new='-newkey dsa:../apps/dsa512.pem'
39*ebfedea0SLionel Sambucelse
40*ebfedea0SLionel Sambuc  req_new='-new'
41*ebfedea0SLionel Sambucfi
42*ebfedea0SLionel Sambuc
43*ebfedea0SLionel Sambuc$reqcmd -config $CAconf -out $CAreq -keyout $CAkey $req_new #>err.ss
44*ebfedea0SLionel Sambucif [ $? != 0 ]; then
45*ebfedea0SLionel Sambuc	echo "error using 'req' to generate a certificate request"
46*ebfedea0SLionel Sambuc	exit 1
47*ebfedea0SLionel Sambucfi
48*ebfedea0SLionel Sambucecho
49*ebfedea0SLionel Sambucecho "convert the certificate request into a self signed certificate using 'x509'"
50*ebfedea0SLionel Sambuc$x509cmd -CAcreateserial -in $CAreq -days 30 -req -out $CAcert -signkey $CAkey -extfile $CAconf -extensions v3_ca >err.ss
51*ebfedea0SLionel Sambucif [ $? != 0 ]; then
52*ebfedea0SLionel Sambuc	echo "error using 'x509' to self sign a certificate request"
53*ebfedea0SLionel Sambuc	exit 1
54*ebfedea0SLionel Sambucfi
55*ebfedea0SLionel Sambuc
56*ebfedea0SLionel Sambucecho
57*ebfedea0SLionel Sambucecho "convert a certificate into a certificate request using 'x509'"
58*ebfedea0SLionel Sambuc$x509cmd -in $CAcert -x509toreq -signkey $CAkey -out $CAreq2 >err.ss
59*ebfedea0SLionel Sambucif [ $? != 0 ]; then
60*ebfedea0SLionel Sambuc	echo "error using 'x509' convert a certificate to a certificate request"
61*ebfedea0SLionel Sambuc	exit 1
62*ebfedea0SLionel Sambucfi
63*ebfedea0SLionel Sambuc
64*ebfedea0SLionel Sambuc$reqcmd -config $dummycnf -verify -in $CAreq -noout
65*ebfedea0SLionel Sambucif [ $? != 0 ]; then
66*ebfedea0SLionel Sambuc	echo first generated request is invalid
67*ebfedea0SLionel Sambuc	exit 1
68*ebfedea0SLionel Sambucfi
69*ebfedea0SLionel Sambuc
70*ebfedea0SLionel Sambuc$reqcmd -config $dummycnf -verify -in $CAreq2 -noout
71*ebfedea0SLionel Sambucif [ $? != 0 ]; then
72*ebfedea0SLionel Sambuc	echo second generated request is invalid
73*ebfedea0SLionel Sambuc	exit 1
74*ebfedea0SLionel Sambucfi
75*ebfedea0SLionel Sambuc
76*ebfedea0SLionel Sambuc$verifycmd -CAfile $CAcert $CAcert
77*ebfedea0SLionel Sambucif [ $? != 0 ]; then
78*ebfedea0SLionel Sambuc	echo first generated cert is invalid
79*ebfedea0SLionel Sambuc	exit 1
80*ebfedea0SLionel Sambucfi
81*ebfedea0SLionel Sambuc
82*ebfedea0SLionel Sambucecho
83*ebfedea0SLionel Sambucecho "make a user certificate request using 'req'"
84*ebfedea0SLionel Sambuc$reqcmd -config $Uconf -out $Ureq -keyout $Ukey $req_new >err.ss
85*ebfedea0SLionel Sambucif [ $? != 0 ]; then
86*ebfedea0SLionel Sambuc	echo "error using 'req' to generate a user certificate request"
87*ebfedea0SLionel Sambuc	exit 1
88*ebfedea0SLionel Sambucfi
89*ebfedea0SLionel Sambuc
90*ebfedea0SLionel Sambucecho
91*ebfedea0SLionel Sambucecho "sign user certificate request with the just created CA via 'x509'"
92*ebfedea0SLionel Sambuc$x509cmd -CAcreateserial -in $Ureq -days 30 -req -out $Ucert -CA $CAcert -CAkey $CAkey -extfile $Uconf -extensions v3_ee >err.ss
93*ebfedea0SLionel Sambucif [ $? != 0 ]; then
94*ebfedea0SLionel Sambuc	echo "error using 'x509' to sign a user certificate request"
95*ebfedea0SLionel Sambuc	exit 1
96*ebfedea0SLionel Sambucfi
97*ebfedea0SLionel Sambuc
98*ebfedea0SLionel Sambuc$verifycmd -CAfile $CAcert $Ucert
99*ebfedea0SLionel Sambucecho
100*ebfedea0SLionel Sambucecho "Certificate details"
101*ebfedea0SLionel Sambuc$x509cmd -subject -issuer -startdate -enddate -noout -in $Ucert
102*ebfedea0SLionel Sambuc
103*ebfedea0SLionel Sambucecho
104*ebfedea0SLionel Sambucecho "make a proxy certificate request using 'req'"
105*ebfedea0SLionel Sambuc$reqcmd -config $P1conf -out $P1req -keyout $P1key $req_new >err.ss
106*ebfedea0SLionel Sambucif [ $? != 0 ]; then
107*ebfedea0SLionel Sambuc	echo "error using 'req' to generate a proxy certificate request"
108*ebfedea0SLionel Sambuc	exit 1
109*ebfedea0SLionel Sambucfi
110*ebfedea0SLionel Sambuc
111*ebfedea0SLionel Sambucecho
112*ebfedea0SLionel Sambucecho "sign proxy certificate request with the just created user certificate via 'x509'"
113*ebfedea0SLionel Sambuc$x509cmd -CAcreateserial -in $P1req -days 30 -req -out $P1cert -CA $Ucert -CAkey $Ukey -extfile $P1conf -extensions v3_proxy >err.ss
114*ebfedea0SLionel Sambucif [ $? != 0 ]; then
115*ebfedea0SLionel Sambuc	echo "error using 'x509' to sign a proxy certificate request"
116*ebfedea0SLionel Sambuc	exit 1
117*ebfedea0SLionel Sambucfi
118*ebfedea0SLionel Sambuc
119*ebfedea0SLionel Sambuccat $Ucert > $P1intermediate
120*ebfedea0SLionel Sambuc$verifycmd -CAfile $CAcert -untrusted $P1intermediate $P1cert
121*ebfedea0SLionel Sambucecho
122*ebfedea0SLionel Sambucecho "Certificate details"
123*ebfedea0SLionel Sambuc$x509cmd -subject -issuer -startdate -enddate -noout -in $P1cert
124*ebfedea0SLionel Sambuc
125*ebfedea0SLionel Sambucecho
126*ebfedea0SLionel Sambucecho "make another proxy certificate request using 'req'"
127*ebfedea0SLionel Sambuc$reqcmd -config $P2conf -out $P2req -keyout $P2key $req_new >err.ss
128*ebfedea0SLionel Sambucif [ $? != 0 ]; then
129*ebfedea0SLionel Sambuc	echo "error using 'req' to generate another proxy certificate request"
130*ebfedea0SLionel Sambuc	exit 1
131*ebfedea0SLionel Sambucfi
132*ebfedea0SLionel Sambuc
133*ebfedea0SLionel Sambucecho
134*ebfedea0SLionel Sambucecho "sign second proxy certificate request with the first proxy certificate via 'x509'"
135*ebfedea0SLionel Sambuc$x509cmd -CAcreateserial -in $P2req -days 30 -req -out $P2cert -CA $P1cert -CAkey $P1key -extfile $P2conf -extensions v3_proxy >err.ss
136*ebfedea0SLionel Sambucif [ $? != 0 ]; then
137*ebfedea0SLionel Sambuc	echo "error using 'x509' to sign a second proxy certificate request"
138*ebfedea0SLionel Sambuc	exit 1
139*ebfedea0SLionel Sambucfi
140*ebfedea0SLionel Sambuc
141*ebfedea0SLionel Sambuccat $Ucert $P1cert > $P2intermediate
142*ebfedea0SLionel Sambuc$verifycmd -CAfile $CAcert -untrusted $P2intermediate $P2cert
143*ebfedea0SLionel Sambucecho
144*ebfedea0SLionel Sambucecho "Certificate details"
145*ebfedea0SLionel Sambuc$x509cmd -subject -issuer -startdate -enddate -noout -in $P2cert
146*ebfedea0SLionel Sambuc
147*ebfedea0SLionel Sambucecho
148*ebfedea0SLionel Sambucecho The generated CA certificate is $CAcert
149*ebfedea0SLionel Sambucecho The generated CA private key is $CAkey
150*ebfedea0SLionel Sambuc
151*ebfedea0SLionel Sambucecho The generated user certificate is $Ucert
152*ebfedea0SLionel Sambucecho The generated user private key is $Ukey
153*ebfedea0SLionel Sambuc
154*ebfedea0SLionel Sambucecho The first generated proxy certificate is $P1cert
155*ebfedea0SLionel Sambucecho The first generated proxy private key is $P1key
156*ebfedea0SLionel Sambuc
157*ebfedea0SLionel Sambucecho The second generated proxy certificate is $P2cert
158*ebfedea0SLionel Sambucecho The second generated proxy private key is $P2key
159*ebfedea0SLionel Sambuc
160*ebfedea0SLionel Sambuc/bin/rm err.ss
161*ebfedea0SLionel Sambuc#/bin/rm $P1intermediate
162*ebfedea0SLionel Sambuc#/bin/rm $P2intermediate
163*ebfedea0SLionel Sambucexit 0
164