blob: 2e9e7a420890b5003685b1b4697af257575341c7 [file] [log] [blame]
Paul Bakkerb159ed22009-01-14 22:39:57 +00001#!/bin/sh
2rm -rf index newcerts/*.pem serial *.req *.key *.crt crl.prm
3
4touch index
5echo "01" > serial
6
Paul Bakkerb29e23c2009-02-09 21:06:41 +00007PASSWORD=PolarSSLTest
8
Paul Bakkerb159ed22009-01-14 22:39:57 +00009echo "Generating CA"
Paul Bakkerb29e23c2009-02-09 21:06:41 +000010cat sslconf.txt > sslconf_use.txt
11echo "CN=PolarSSL Test CA" >> sslconf_use.txt
12
13openssl req -config sslconf_use.txt -days 3653 -x509 -newkey rsa:2048 \
14 -set_serial 0 -text -keyout test-ca.key -out test-ca.crt \
15 -passout pass:$PASSWORD
Paul Bakkerb159ed22009-01-14 22:39:57 +000016
17echo "Generating rest"
18openssl genrsa -out server1.key 2048
19openssl genrsa -out server2.key 2048
20openssl genrsa -out client1.key 2048
21openssl genrsa -out client2.key 2048
22
23echo "Generating requests"
Paul Bakkerb29e23c2009-02-09 21:06:41 +000024cat sslconf.txt > sslconf_use.txt
25echo "CN=PolarSSL Server 1" >> sslconf_use.txt
26openssl req -config sslconf_use.txt -new -key server1.key -out server1.req
27
28cat sslconf.txt > sslconf_use.txt
29echo "CN=PolarSSL Server 2" >> sslconf_use.txt
30openssl req -config sslconf_use.txt -new -key server2.key -out server2.req
31
32cat sslconf.txt > sslconf_use.txt
33echo "CN=PolarSSL Client 1" >> sslconf_use.txt
34openssl req -config sslconf_use.txt -new -key client1.key -out client1.req
35
36cat sslconf.txt > sslconf_use.txt
37echo "CN=PolarSSL Client 2" >> sslconf_use.txt
38openssl req -config sslconf_use.txt -new -key client2.key -out client2.req
Paul Bakkerb159ed22009-01-14 22:39:57 +000039
40echo "Signing requests"
Paul Bakkerb29e23c2009-02-09 21:06:41 +000041for i in server1 server2 client1 client2;
42do
43 openssl ca -config sslconf.txt -out $i.crt -passin pass:$PASSWORD \
44 -batch -in $i.req
45done
Paul Bakkerb159ed22009-01-14 22:39:57 +000046
47echo "Revoking firsts"
Paul Bakkerb29e23c2009-02-09 21:06:41 +000048openssl ca -batch -config sslconf.txt -revoke server1.crt -passin pass:$PASSWORD
49openssl ca -batch -config sslconf.txt -revoke client1.crt -passin pass:$PASSWORD
50openssl ca -batch -config sslconf.txt -gencrl -out crl.pem -passin pass:$PASSWORD
Paul Bakkerb159ed22009-01-14 22:39:57 +000051
52echo "Verifying second"
53openssl x509 -in server2.crt -text -noout
54cat test-ca.crt crl.pem > ca_crl.pem
55openssl verify -CAfile ca_crl.pem -crl_check server2.crt
56rm ca_crl.pem
57
58echo "Generating PKCS12"
59openssl pkcs12 -export -in client2.crt -inkey client2.key \
Paul Bakkerb29e23c2009-02-09 21:06:41 +000060 -out client2.pfx -passout pass:$PASSWORD
Paul Bakkerb159ed22009-01-14 22:39:57 +000061
Paul Bakkerb29e23c2009-02-09 21:06:41 +000062rm *.old *.req sslconf_use.txt