summaryrefslogtreecommitdiff
path: root/src/regress/lib/libssl
diff options
context:
space:
mode:
Diffstat (limited to 'src/regress/lib/libssl')
-rw-r--r--src/regress/lib/libssl/Makefile237
-rw-r--r--src/regress/lib/libssl/README6
-rw-r--r--src/regress/lib/libssl/openssl.cnf29
-rw-r--r--src/regress/lib/libssl/test_client.sh13
-rw-r--r--src/regress/lib/libssl/test_server.sh11
-rw-r--r--src/regress/lib/libssl/testdsa.sh29
-rw-r--r--src/regress/lib/libssl/testenc.sh70
-rw-r--r--src/regress/lib/libssl/testrsa.sh29
8 files changed, 424 insertions, 0 deletions
diff --git a/src/regress/lib/libssl/Makefile b/src/regress/lib/libssl/Makefile
new file mode 100644
index 0000000000..85608b9679
--- /dev/null
+++ b/src/regress/lib/libssl/Makefile
@@ -0,0 +1,237 @@
1# $OpenBSD: Makefile,v 1.9 2002/09/02 20:01:43 avsm Exp $
2
3CLEANFILES+= testdsa.key testdsa.pem rsakey.pem rsacert.pem dsa512.pem
4
5REGRESS_TARGETS=ossltests ssl-enc ssl-dsa ssl-rsa
6
7OPENSSL=/usr/sbin/openssl
8CLEAR1=p
9CIPHER=cipher
10CLEAR2=clear
11
12BNTEST= bntest
13ECTEST= ectest
14EXPTEST= exptest
15SHATEST= shatest
16SHA1TEST= sha1test
17MDC2TEST= mdc2test
18RMDTEST= rmdtest
19MD2TEST= md2test
20MD4TEST= md4test
21MD5TEST= md5test
22HMACTEST= hmactest
23RC2TEST= rc2test
24RC4TEST= rc4test
25BFTEST= bftest
26CASTTEST= casttest
27DESTEST= destest
28RANDTEST= randtest
29DHTEST= dhtest
30DSATEST= dsatest
31RSATEST= rsa_test
32ENGINETEST= enginetest
33EVPTEST= evp_test
34
35
36CLEANFILES+= $(BNTEST).c $(ECTEST).c $(HMACTEST).c \
37 $(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
38 $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c \
39 $(CASTTEST).c $(EXPTEST).c $(DSATEST).c $(RSATEST).c \
40 $(EVPTEST).c $(DESTEST).c ${RC2TEST}.c ${RC4TEST}.c ${MD2TEST}.c \
41 ${MD4TEST}.c ${MD5TEST}.c
42
43CLEANFILES+= $(BNTEST) $(ECTEST) $(HMACTEST) \
44 $(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \
45 $(RANDTEST) $(DHTEST) $(ENGINETEST) \
46 $(CASTTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \
47 $(EVPTEST) $(DESTEST) ${RC2TEST} ${RC4TEST} ${MD2TEST} ${MD4TEST} \
48 ${MD5TEST}\
49
50CLEANFILES+= ${BNTEST}.out
51
52OTESTS= ${ENGINETEST} \
53 ${EXPTEST} ${RANDTEST} \
54 ${MD2TEST} ${MD4TEST} ${MD5TEST} \
55 ${SHATEST} ${SHA1TEST} ${HMACTEST} ${RMDTEST} ${MDC2TEST} \
56 ${CASTTEST} ${RC2TEST} ${RC4TEST} ${DESTEST} \
57 ${DHTEST} ${DSATEST} ${RSATEST} \
58 ${ECTEST}
59
60${CLEAR1}: openssl.cnf
61 cat ${.CURDIR}/openssl.cnf > ${CLEAR1}
62
63CLEANFILES+=${CLEAR1}
64
65ENCTARGETS=rc4 des-cfb des-ede-cfb des-ede3-cfb des-ofb des-ede-ofb des-ede3-ofb
66ENCTARGETS+=des-ecb des-ede des-ede3 desx des-cbc des-ede-cbc des-ede3-cbc
67ENCTARGETS+=rc2-ecb rc2-cfb rc2-ofb rc2-cbc bf-ecb bf-cfb bf-ofb bf-cbc rc4
68ENCTARGETS+=cast5-ecb cast5-cfb cast5-ofb cast5-cbc
69
70.for ENC in ${ENCTARGETS}
71${CIPHER}.${ENC}: ${CLEAR1}
72 ${OPENSSL} ${ENC} -bufsize 113 -e -k test < ${CLEAR1} > ${CIPHER}.${ENC}
73${CIPHER}.${ENC}.b64: ${CLEAR1}
74 ${OPENSSL} ${ENC} -bufsize 113 -a -e -k test < ${CLEAR1} > ${CIPHER}.${ENC}.b64
75
76${CLEAR2}.${ENC}: ${CIPHER}.${ENC}
77 ${OPENSSL} ${ENC} -bufsize 157 -d -k test < ${CIPHER}.${ENC} > ${CLEAR2}.${ENC}
78${CLEAR2}.${ENC}.b64: ${CIPHER}.${ENC}.b64
79 ${OPENSSL} ${ENC} -bufsize 157 -a -d -k test < ${CIPHER}.${ENC}.b64 > ${CLEAR2}.${ENC}.b64
80
81ssl-enc-${ENC}: ${CLEAR1} ${CLEAR2}.${ENC}
82 cmp ${CLEAR1} ${CLEAR2}.${ENC}
83ssl-enc-${ENC}.b64: ${CLEAR1} ${CLEAR2}.${ENC}.b64
84 cmp ${CLEAR1} ${CLEAR2}.${ENC}.b64
85
86REGRESS_TARGETS+=ssl-enc-${ENC} ssl-enc-${ENC}.b64
87CLEANFILES+=${CIPHER}.${ENC} ${CIPHER}.${ENC}.b64 ${CLEAR2}.${ENC} ${CLEAR2}.${ENC}.b64 e_os.h .rnd
88.endfor
89
90ssl-enc:
91 sh ${.CURDIR}/testenc.sh ${.OBJDIR} ${.CURDIR}
92ssl-dsa:
93 sh ${.CURDIR}/testdsa.sh ${.OBJDIR} ${.CURDIR}
94ssl-rsa:
95 sh ${.CURDIR}/testrsa.sh ${.OBJDIR} ${.CURDIR}
96
97e_os.h: ${.CURDIR}/../../../lib/libssl/src/e_os.h
98 cp ${.CURDIR}/../../../lib/libssl/src/e_os.h ${.OBJDIR}
99
100ossltests: ${OTESTS} ${BNTEST} ${EVPTEST}
101 @echo running ${BNTEST}, check ${.OBJDIR}/${BNTEST}.out if this fails.
102 ${.OBJDIR}/${BNTEST} > ${.OBJDIR}/${BNTEST}.out 2>&1
103.for OT in ${OTESTS}
104 @echo running ${OT}
105 ${.OBJDIR}/${OT}
106.endfor
107 @echo running ${EVPTEST}
108 ${.OBJDIR}/${EVPTEST} ${.CURDIR}/../../../lib/libssl/src/crypto/evp/evptests.txt
109
110$(BNTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/bn/bntest.c
111 cp ${.CURDIR}/../../../lib/libssl/src/crypto/bn/bntest.c ${.OBJDIR}
112
113$(BNTEST): ${BNTEST}.c e_os.h
114 cc -O -o $(BNTEST) ${BNTEST}.c -lcrypto
115
116$(EXPTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/bn/exptest.c
117 cp ${.CURDIR}/../../../lib/libssl/src/crypto/bn/exptest.c ${.OBJDIR}
118
119$(EXPTEST): ${EXPTEST}.c e_os.h
120 cc -O -o $(EXPTEST) ${EXPTEST}.c -lcrypto
121
122$(ECTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/ec/ectest.c
123 cp ${.CURDIR}/../../../lib/libssl/src/crypto/ec/ectest.c ${.OBJDIR}
124
125$(ECTEST): ${ECTEST}.c e_os.h
126 cc -O -o $(ECTEST) ${ECTEST}.c -lcrypto
127
128$(EVPTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/evp/${EVPTEST}.c
129 cp ${.CURDIR}/../../../lib/libssl/src/crypto/evp/${EVPTEST}.c ${.OBJDIR}
130$(EVPTEST): ${EVPTEST}.c e_os.h
131 cc -O -o $(EVPTEST) ${EVPTEST}.c -lcrypto
132
133$(SHATEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/sha/${SHATEST}.c
134 cp ${.CURDIR}/../../../lib/libssl/src/crypto/sha/${SHATEST}.c ${.OBJDIR}
135$(SHATEST): ${SHATEST}.c e_os.h
136 cc -O -o $(SHATEST) ${SHATEST}.c -lcrypto
137
138$(SHA1TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/sha/${SHA1TEST}.c
139 cp ${.CURDIR}/../../../lib/libssl/src/crypto/sha/${SHA1TEST}.c ${.OBJDIR}
140$(SHA1TEST): ${SHA1TEST}.c e_os.h
141 cc -O -o $(SHA1TEST) ${SHA1TEST}.c -lcrypto
142
143$(RANDTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/rand/${RANDTEST}.c
144 cp ${.CURDIR}/../../../lib/libssl/src/crypto/rand/${RANDTEST}.c ${.OBJDIR}
145$(RANDTEST): ${RANDTEST}.c e_os.h
146 cc -O -o $(RANDTEST) ${RANDTEST}.c -lcrypto
147
148$(MDC2TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/mdc2/${MDC2TEST}.c
149 cp ${.CURDIR}/../../../lib/libssl/src/crypto/mdc2/${MDC2TEST}.c ${.OBJDIR}
150$(MDC2TEST): ${MDC2TEST}.c e_os.h
151 cc -O -o $(MDC2TEST) ${MDC2TEST}.c -lcrypto
152
153$(RMDTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/ripemd/${RMDTEST}.c
154 cp ${.CURDIR}/../../../lib/libssl/src/crypto/ripemd/${RMDTEST}.c ${.OBJDIR}
155$(RMDTEST): ${RMDTEST}.c e_os.h
156 cc -O -o $(RMDTEST) ${RMDTEST}.c -lcrypto
157
158$(DHTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/dh/${DHTEST}.c
159 cp ${.CURDIR}/../../../lib/libssl/src/crypto/dh/${DHTEST}.c ${.OBJDIR}
160
161$(DHTEST): ${DHTEST}.c e_os.h
162 cc -O -o $(DHTEST) ${DHTEST}.c -lcrypto
163
164$(ENGINETEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/engine/${ENGINETEST}.c
165 cp ${.CURDIR}/../../../lib/libssl/src/crypto/engine/${ENGINETEST}.c ${.OBJDIR}
166
167$(ENGINETEST): ${ENGINETEST}.c e_os.h
168 cc -O -o $(ENGINETEST) ${ENGINETEST}.c -lcrypto
169
170$(CASTTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/cast/${CASTTEST}.c
171 cp ${.CURDIR}/../../../lib/libssl/src/crypto/cast/${CASTTEST}.c ${.OBJDIR}
172
173$(CASTTEST): ${CASTTEST}.c e_os.h
174 cc -O -o $(CASTTEST) ${CASTTEST}.c -lcrypto
175
176$(RSATEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/rsa/${RSATEST}.c
177 cp ${.CURDIR}/../../../lib/libssl/src/crypto/rsa/${RSATEST}.c ${.OBJDIR}
178
179$(RSATEST): ${RSATEST}.c e_os.h
180 cc -O -o $(RSATEST) ${RSATEST}.c -lcrypto
181
182$(DSATEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/dsa/${DSATEST}.c
183 cp ${.CURDIR}/../../../lib/libssl/src/crypto/dsa/${DSATEST}.c ${.OBJDIR}
184
185$(DSATEST): ${DSATEST}.c e_os.h
186 cc -O -o $(DSATEST) ${DSATEST}.c -lcrypto
187
188
189$(HMACTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/hmac/${HMACTEST}.c
190 cp ${.CURDIR}/../../../lib/libssl/src/crypto/hmac/${HMACTEST}.c ${.OBJDIR}
191
192$(HMACTEST): ${HMACTEST}.c e_os.h
193 cc -O -o $(HMACTEST) ${HMACTEST}.c -lcrypto
194
195$(DESTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/des/${DESTEST}.c
196 cp ${.CURDIR}/../../../lib/libssl/src/crypto/des/${DESTEST}.c ${.OBJDIR}
197
198$(DESTEST): ${DESTEST}.c e_os.h
199 cc -O -o $(DESTEST) ${DESTEST}.c -lcrypto
200
201$(BFTEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/bf/${BFTEST}.c
202 cp ${.CURDIR}/../../../lib/libssl/src/crypto/bf/${BFTEST}.c ${.OBJDIR}
203
204$(BFTEST): ${BFTEST}.c e_os.h
205 cc -O -o $(BFTEST) ${BFTEST}.c -lcrypto
206
207$(RC2TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/rc2/${RC2TEST}.c
208 cp ${.CURDIR}/../../../lib/libssl/src/crypto/rc2/${RC2TEST}.c ${.OBJDIR}
209
210$(RC2TEST): ${RC2TEST}.c e_os.h
211 cc -O -o $(RC2TEST) ${RC2TEST}.c -lcrypto
212
213$(RC4TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/rc4/${RC4TEST}.c
214 cp ${.CURDIR}/../../../lib/libssl/src/crypto/rc4/${RC4TEST}.c ${.OBJDIR}
215
216$(RC4TEST): ${RC4TEST}.c e_os.h
217 cc -O -o $(RC4TEST) ${RC4TEST}.c -lcrypto
218
219$(MD2TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/md2/${MD2TEST}.c
220 cp ${.CURDIR}/../../../lib/libssl/src/crypto/md2/${MD2TEST}.c ${.OBJDIR}
221
222$(MD2TEST): ${MD2TEST}.c e_os.h
223 cc -O -o $(MD2TEST) ${MD2TEST}.c -lcrypto
224
225$(MD4TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/md4/${MD4TEST}.c
226 cp ${.CURDIR}/../../../lib/libssl/src/crypto/md4/${MD4TEST}.c ${.OBJDIR}
227
228$(MD4TEST): ${MD4TEST}.c e_os.h
229 cc -O -o $(MD4TEST) ${MD4TEST}.c -lcrypto
230
231$(MD5TEST).c: ${.CURDIR}/../../../lib/libssl/src/crypto/md5/${MD5TEST}.c
232 cp ${.CURDIR}/../../../lib/libssl/src/crypto/md5/${MD5TEST}.c ${.OBJDIR}
233
234$(MD5TEST): ${MD5TEST}.c e_os.h
235 cc -O -o $(MD5TEST) ${MD5TEST}.c -lcrypto
236
237.include <bsd.regress.mk>
diff --git a/src/regress/lib/libssl/README b/src/regress/lib/libssl/README
new file mode 100644
index 0000000000..878feca400
--- /dev/null
+++ b/src/regress/lib/libssl/README
@@ -0,0 +1,6 @@
1testenc.sh tests encryption routines
2testdsa.sh tests DSA certificate generation
3test_server.sh starts a tls1 server using the above generated certificate
4test_client.sh starts a client to talk to the server.
5testrsa.sh tests RSA certificate generation
6
diff --git a/src/regress/lib/libssl/openssl.cnf b/src/regress/lib/libssl/openssl.cnf
new file mode 100644
index 0000000000..9b6cf400c6
--- /dev/null
+++ b/src/regress/lib/libssl/openssl.cnf
@@ -0,0 +1,29 @@
1# $OpenBSD: openssl.cnf,v 1.2 2001/01/29 02:05:46 niklas Exp $
2
3#
4# SSLeay example configuration file.
5# This is mostly being used for generation of certificate requests.
6#
7# hacked by iang to do DSA certs - Server
8
9RANDFILE = ./.rnd
10
11####################################################################
12[ req ]
13distinguished_name = req_distinguished_name
14encrypt_rsa_key = no
15
16[ req_distinguished_name ]
17countryName = Country Name (2 letter code)
18countryName_default = CA
19countryName_value = CA
20
21organizationName = Organization Name (eg, company)
22organizationName_value = Shake it Vera
23
240.commonName = Common Name (eg, YOUR name)
250.commonName_value = Wastelandus
26
271.commonName = Common Name (eg, YOUR name)
281.commonName_value = Maximus
29
diff --git a/src/regress/lib/libssl/test_client.sh b/src/regress/lib/libssl/test_client.sh
new file mode 100644
index 0000000000..4f17fad80e
--- /dev/null
+++ b/src/regress/lib/libssl/test_client.sh
@@ -0,0 +1,13 @@
1#!/bin/sh
2# $OpenBSD: test_client.sh,v 1.3 2001/01/29 02:05:48 niklas Exp $
3
4
5echo
6echo This starts a tls1 mode client to talk to the server run by
7echo ./testserver.sh. You should start the server first.
8echo
9echo type in this window after ssl negotiation and your output should
10echo be echoed by the server.
11echo
12echo
13/usr/sbin/openssl s_client -tls1
diff --git a/src/regress/lib/libssl/test_server.sh b/src/regress/lib/libssl/test_server.sh
new file mode 100644
index 0000000000..a9e2c84d4f
--- /dev/null
+++ b/src/regress/lib/libssl/test_server.sh
@@ -0,0 +1,11 @@
1#!/bin/sh
2# $OpenBSD: test_server.sh,v 1.3 2001/01/29 02:05:48 niklas Exp $
3
4
5echo This starts a tls1 mode server using the DSA certificate in ./server.pem
6echo Run ./testclient.sh in another window and type at it, you should
7echo see the results of the ssl negotiation, and stuff you type in the client
8echo should echo in this window
9echo
10echo
11/usr/sbin/openssl s_server -tls1 -key testdsa.key -cert testdsa.pem
diff --git a/src/regress/lib/libssl/testdsa.sh b/src/regress/lib/libssl/testdsa.sh
new file mode 100644
index 0000000000..48526eec11
--- /dev/null
+++ b/src/regress/lib/libssl/testdsa.sh
@@ -0,0 +1,29 @@
1#!/bin/sh
2# $OpenBSD: testdsa.sh,v 1.4 2001/01/29 02:05:48 niklas Exp $
3
4
5#Test DSA certificate generation of openssl
6
7cd $1
8
9# Generate DSA paramter set
10openssl dsaparam 512 -out dsa512.pem
11if [ $? != 0 ]; then
12 exit 1;
13fi
14
15
16# Denerate a DSA certificate
17openssl req -config $2/openssl.cnf -x509 -newkey dsa:dsa512.pem -out testdsa.pem -keyout testdsa.key
18if [ $? != 0 ]; then
19 exit 1;
20fi
21
22
23# Now check the certificate
24openssl x509 -text -in testdsa.pem
25if [ $? != 0 ]; then
26 exit 1;
27fi
28
29exit 0
diff --git a/src/regress/lib/libssl/testenc.sh b/src/regress/lib/libssl/testenc.sh
new file mode 100644
index 0000000000..355e9cd923
--- /dev/null
+++ b/src/regress/lib/libssl/testenc.sh
@@ -0,0 +1,70 @@
1#!/bin/sh
2# $OpenBSD: testenc.sh,v 1.6 2002/01/15 18:51:39 art Exp $
3
4
5testsrc=$2/openssl.cnf
6test=$1/p
7cmd=/usr/sbin/openssl
8
9cd $1
10
11cat $testsrc >$test;
12
13echo cat
14$cmd enc < $test > $test.cipher
15$cmd enc < $test.cipher >$test.clear
16cmp $test $test.clear
17if [ $? != 0 ]
18then
19 exit 1
20else
21 /bin/rm $test.cipher $test.clear
22fi
23echo base64
24$cmd enc -a -e < $test > $test.cipher
25$cmd enc -a -d < $test.cipher >$test.clear
26cmp $test $test.clear
27if [ $? != 0 ]
28then
29 exit 1
30else
31 /bin/rm $test.cipher $test.clear
32fi
33
34/bin/rm -f $test
35exit 0
36
37# These tests are now done by the makefile.
38
39for i in rc4 \
40 des-cfb des-ede-cfb des-ede3-cfb \
41 des-ofb des-ede-ofb des-ede3-ofb \
42 des-ecb des-ede des-ede3 desx \
43 des-cbc des-ede-cbc des-ede3-cbc \
44 rc2-ecb rc2-cfb rc2-ofb rc2-cbc \
45 bf-ecb bf-cfb bf-ofb bf-cbc rc4 \
46 cast5-ecb cast5-cfb cast5-ofb cast5-cbc
47do
48 echo $i
49 $cmd $i -bufsize 113 -e -k test < $test > $test.$i.cipher
50 $cmd $i -bufsize 157 -d -k test < $test.$i.cipher >$test.$i.clear
51 cmp $test $test.$i.clear
52 if [ $? != 0 ]
53 then
54 exit 1
55 else
56 /bin/rm $test.$i.cipher $test.$i.clear
57 fi
58
59 echo $i base64
60 $cmd $i -bufsize 113 -a -e -k test < $test > $test.$i.cipher
61 $cmd $i -bufsize 157 -a -d -k test < $test.$i.cipher >$test.$i.clear
62 cmp $test $test.$i.clear
63 if [ $? != 0 ]
64 then
65 exit 1
66 else
67 /bin/rm $test.$i.cipher $test.$i.clear
68 fi
69done
70rm -f $test
diff --git a/src/regress/lib/libssl/testrsa.sh b/src/regress/lib/libssl/testrsa.sh
new file mode 100644
index 0000000000..17c6abf7ce
--- /dev/null
+++ b/src/regress/lib/libssl/testrsa.sh
@@ -0,0 +1,29 @@
1#!/bin/sh
2# $OpenBSD: testrsa.sh,v 1.6 2002/01/02 15:13:18 art Exp $
3
4
5#Test RSA certificate generation of openssl
6
7cd $1
8
9# Generate RSA private key
10openssl genrsa -out rsakey.pem
11if [ $? != 0 ]; then
12 exit 1;
13fi
14
15
16# Generate an RSA certificate
17openssl req -config $2/openssl.cnf -key rsakey.pem -new -x509 -days 365 -out rsacert.pem
18if [ $? != 0 ]; then
19 exit 1;
20fi
21
22
23# Now check the certificate
24openssl x509 -text -in rsacert.pem
25if [ $? != 0 ]; then
26 exit 1;
27fi
28
29exit 0