diff options
Diffstat (limited to 't/sslgen.sh')
-rwxr-xr-x | t/sslgen.sh | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/t/sslgen.sh b/t/sslgen.sh new file mode 100755 index 0000000..3fd070a --- /dev/null +++ b/t/sslgen.sh @@ -0,0 +1,63 @@ +#!/bin/sh +set -e +set -x + +certinfo() { + echo US + echo Hell + echo A Very Special Place + echo Monkeys + echo Poo-Flingers + echo 127.0.0.1 + echo kgio@bogomips.org +} + +certinfo2() { + certinfo + echo + echo +} + +ca_certinfo () { + echo US + echo Hell + echo An Even More Special Place + echo Deranged Monkeys + echo Poo-Hurlers + echo 127.6.6.6 + echo unicorn@bogomips.org +} + +openssl genrsa -out ca.key 512 +ca_certinfo | openssl req -new -x509 -days 666 -key ca.key -out ca.crt + +openssl genrsa -out bad-ca.key 512 +ca_certinfo | openssl req -new -x509 -days 666 -key bad-ca.key -out bad-ca.crt + +openssl genrsa -out server.key 512 +certinfo2 | openssl req -new -key server.key -out server.csr + +openssl x509 -req -days 666 \ + -in server.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out server.crt +n=2 +mk_client_cert () { + CLIENT=$1 + openssl genrsa -out $CLIENT.key 512 + certinfo2 | openssl req -new -key $CLIENT.key -out $CLIENT.csr + + openssl x509 -req -days 666 \ + -in $CLIENT.csr -CA $CA.crt -CAkey $CA.key -set_serial $n \ + -out $CLIENT.crt + rm -f $CLIENT.csr + n=$(($n + 1)) +} + +CA=ca +mk_client_cert client1 +mk_client_cert client2 + +CA=bad-ca mk_client_cert bad-client + +rm -f server.csr + +echo OK |