summaryrefslogtreecommitdiff
path: root/src/regress/lib/libcrypto/CA/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/regress/lib/libcrypto/CA/Makefile')
-rw-r--r--src/regress/lib/libcrypto/CA/Makefile106
1 files changed, 91 insertions, 15 deletions
diff --git a/src/regress/lib/libcrypto/CA/Makefile b/src/regress/lib/libcrypto/CA/Makefile
index c31c99c946..3e445d2de0 100644
--- a/src/regress/lib/libcrypto/CA/Makefile
+++ b/src/regress/lib/libcrypto/CA/Makefile
@@ -1,21 +1,97 @@
1# $OpenBSD: Makefile,v 1.1 2017/01/25 10:29:34 beck Exp $ 1# $OpenBSD: Makefile,v 1.2 2020/12/26 00:48:56 bluhm Exp $
2 2
3TESTS = \ 3CLEANFILES += *.pem *.serial *.txt *.attr *.old
4 doit.sh
5 4
6REGRESS_TARGETS= all_tests 5REGRESS_SETUP_ONCE += root.serial intermediate.serial
6root.serial intermediate.serial:
7 echo 1000 >$@
7 8
8CLEANFILES += \ 9REGRESS_SETUP_ONCE += root.txt intermediate.txt
91000.pem client.cert.pem intermediate.cert.pem root.cert.pem server.csr.pem \ 10root.txt intermediate.txt:
101001.pem client.csr.pem intermediate.csr.pem root.key.pem server.key.pem \ 11 true >$@
11chain.pem client.key.pem intermediate.key.pem server.cert.pem \
12int.txt int.txt.attr int.txt.old int.txt.attr.old \
13root.txt root.txt.attr root.txt.old root.txt.attr.old \
14intserial rootserial intserial.old rootserial.old
15 12
16all_tests: ${TESTS} 13# Vanna Vanna make me a root cert
17 @for test in $>; do \ 14root.key.pem:
18 ./$$test; \ 15 # generate root rsa 4096 key
19 done 16 openssl genrsa -out root.key.pem 4096
17
18root.cert.pem: root.cnf root.key.pem
19 # generate root req
20 openssl req -batch -config ${.CURDIR}/root.cnf -key root.key.pem \
21 -new -x509 -days 365 -sha256 -extensions v3_ca -out root.cert.pem
22
23# Make intermediate
24intermediate.key.pem:
25 # generate intermediate rsa 2048 key
26 openssl genrsa -out intermediate.key.pem 2048
27
28intermediate.csr.pem: intermediate.cnf intermediate.key.pem
29 # generate intermediate req
30 openssl req -batch -config ${.CURDIR}/intermediate.cnf -new -sha256 \
31 -key intermediate.key.pem -out intermediate.csr.pem
32
33# Sign intermediate
34intermediate.cert.pem: root.cnf root.cert.pem intermediate.csr.pem
35 # sign intermediate
36 openssl ca -batch -config ${.CURDIR}/root.cnf \
37 -extensions v3_intermediate_ca -days 10 -notext -md sha256 \
38 -in intermediate.csr.pem -out intermediate.cert.pem
39
40REGRESS_TARGETS += run-verify-intermediate
41# Verify Intermediate
42run-verify-intermediate: root.cert.pem intermediate.cert.pem
43 # validate intermediate CA
44 openssl verify -CAfile root.cert.pem intermediate.cert.pem
45
46chain.pem: intermediate.cert.pem root.cert.pem
47 cat intermediate.cert.pem root.cert.pem > chain.pem
48
49# Make a server certificate
50server.key.pem:
51 # genrsa server
52 openssl genrsa -out server.key.pem 2048
53
54server.csr.pem: intermediate.cnf server.key.pem
55 # server req
56 openssl req -batch -config ${.CURDIR}/intermediate.cnf -new -sha256 \
57 -subj '/CN=server/O=OpenBSD/OU=So and Sos/C=CA' \
58 -key server.key.pem -out server.csr.pem
59
60# Sign server key
61server.cert.pem: intermediate.cnf intermediate.cert.pem server.csr.pem
62 # server sign
63 openssl ca -batch -config ${.CURDIR}/intermediate.cnf \
64 -extensions server_cert -days 5 -notext -md sha256 \
65 -in server.csr.pem -out server.cert.pem
66
67# Make a client certificate
68client.key.pem:
69 # genrsa client
70 openssl genrsa -out client.key.pem 2048
71
72client.csr.pem: intermediate.cnf intermediate.cert.pem client.key.pem
73 # client req
74 openssl req -batch -config ${.CURDIR}/intermediate.cnf -new -sha256 \
75 -subj '/CN=client/O=OpenBSD/OU=So and Sos/C=CA' \
76 -key client.key.pem -out client.csr.pem
77
78# Sign client key
79client.cert.pem: intermediate.cnf intermediate.txt client.csr.pem
80 # client sign
81 openssl ca -batch -config ${.CURDIR}/intermediate.cnf \
82 -extensions usr_cert -days 5 -notext -md sha256 \
83 -in client.csr.pem -out client.cert.pem
84
85REGRESS_TARGETS += run-verify-server
86# Verify Intermediate
87run-verify-server: chain.pem server.cert.pem
88 # validate server cert
89 openssl verify -purpose sslserver -CAfile chain.pem server.cert.pem
90
91REGRESS_TARGETS += run-verify-client
92# Verify Intermediate
93run-verify-client: chain.pem client.cert.pem
94 # validate client cert
95 openssl verify -purpose sslclient -CAfile chain.pem client.cert.pem
20 96
21.include <bsd.regress.mk> 97.include <bsd.regress.mk>