about summary refs log tree commit homepage
path: root/t/sslgen.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/sslgen.sh')
-rwxr-xr-xt/sslgen.sh63
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