]> git.donarmstrong.com Git - bin.git/blob - simple_ssl
add common subscriber
[bin.git] / simple_ssl
1 #!/bin/sh
2
3 make_key () {
4     # Takes one argument, the Distinguished name
5     # Creates a single signed cert, cert.pem in the current directory
6     cat -<<EOF |openssl req -nodes -new -keyout key.pem -out key.req -days 9000 >/dev/null 2>&1
7 .
8 .
9 .
10 .
11 .
12 $1
13 .
14
15
16 EOF
17     openssl x509 -in $CACERT -noout -next_serial -out serial >/dev/null 2>&1
18     touch database database.attr
19     cp /usr/lib/ssl/openssl.cnf config
20     perl -pi -e 's/(database|serial)\s*=.+/$1=$1/' config
21     openssl ca -config config -policy policy_anything -keyfile $CAKEY -cert $CACERT \
22         -out cert.pem -outdir . -notext -days 9000 -batch -infiles key.req > /dev/null 2>&1
23     rm -f database database.attr database.old database.attr.old config serial serial.old
24     rm -f key.req
25 }
26
27
28 if [ -n "$1" -a ! -e $1 ]; then
29
30     cat -<<EOF |openssl req -new -nodes -x509 -keyout $1.key -out $1.crt -days 9000 >/dev/null 2>&1
31 .
32 .
33 .
34 .
35 My CA Key
36 .
37
38 EOF
39
40 fi;
41
42 CACERT=$1.crt;
43 CAKEY=$1.key;
44 make_key $2
45 mv key.pem  $2.pem
46 mv cert.pem $2.crt