Blame | Last modification | View Log | RSS feed
#!/bin/bashif [ $# -eq 0 ]; thenecho $"Usage: `basename $0` filename" 1>&2exit 1fiPEM=$1REQ=`/bin/mktemp /tmp/openssl.XXXXXX`KEY=`/bin/mktemp /tmp/openssl.XXXXXX`CRT=`/bin/mktemp /tmp/openssl.XXXXXX`NEW=${PEM}_trap "rm -f $REQ $KEY $CRT $NEW" SIGINTif [ ! -f $PEM ]; thenecho "$PEM: file not found" 1>&2exit 1filet -a SERIAL=0x$(openssl x509 -in $PEM -noout -serial | cut -d= -f2)let SERIAL++umask 077OWNER=`ls -l $PEM | awk '{ printf "%s.%s", $3, $4; }'`openssl rsa -inform pem -in $PEM -out $KEYopenssl x509 -x509toreq -in $PEM -signkey $KEY -out $REQopenssl x509 -req -in $REQ -signkey $KEY -set_serial $SERIAL -days 365 \-extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -out $CRT(cat $KEY ; echo "" ; cat $CRT) > $NEWchown $OWNER $NEWmv -f $NEW $PEMrm -f $REQ $KEY $CRTexit 0