Subversion Repositories configs

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 - 1
#!/bin/bash
2
 
3
if [ $# -eq 0 ]; then
4
	echo $"Usage: `basename $0` filename" 1>&2
5
	exit 1
6
fi
7
 
8
PEM=$1
9
REQ=`/bin/mktemp /tmp/openssl.XXXXXX`
10
KEY=`/bin/mktemp /tmp/openssl.XXXXXX`
11
CRT=`/bin/mktemp /tmp/openssl.XXXXXX`
12
NEW=${PEM}_
13
 
14
trap "rm -f $REQ $KEY $CRT $NEW" SIGINT
15
 
16
if [ ! -f $PEM ]; then
17
	echo "$PEM: file not found" 1>&2
18
	exit 1
19
fi
20
 
21
let -a SERIAL=0x$(openssl x509 -in $PEM -noout -serial | cut -d= -f2)
22
let SERIAL++
23
 
24
umask 077
25
 
26
OWNER=`ls -l $PEM | awk '{ printf "%s.%s", $3, $4; }'`
27
 
28
openssl rsa -inform pem -in $PEM -out $KEY
29
openssl x509 -x509toreq -in $PEM -signkey $KEY -out $REQ
30
openssl x509 -req -in $REQ -signkey $KEY -set_serial $SERIAL -days 365 \
31
	-extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -out $CRT
32
 
33
(cat $KEY ; echo "" ; cat $CRT) > $NEW
34
 
35
chown $OWNER $NEW
36
 
37
mv -f $NEW $PEM
38
 
39
rm -f $REQ $KEY $CRT
40
 
41
exit 0
42