From 592c2e5f0d0ae4aaf67e4d0e9f61a4bd41971a67 Mon Sep 17 00:00:00 2001 From: Joe Rayhawk Date: Tue, 29 Mar 2011 13:51:04 -0700 Subject: Be more robust in the face of dumb users. --- signcsr.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'signcsr.sh') diff --git a/signcsr.sh b/signcsr.sh index 8074b39..5684f6a 100755 --- a/signcsr.sh +++ b/signcsr.sh @@ -20,16 +20,17 @@ if [[ "$1" =~ (.+/|())(.+) ]]; then # strip leading directories, if they exist echo Using "$NAME" as cert name. fi -if [ $2 ]; then - export CA=$2 +if [ -e "$CA"/signed/"$NAME".crt ]; then + echo "$CA/signed/$NAME.crt" already exists! + exit 3 fi - + # Gen signed key mkdir -pv "$CA"/signed "$CA"/temp "$CA"/certs SERIAL=$(cat "$CA"/ca/"$CA".serial) openssl ca -config "$OPENSSL_CONFIG" -in "$1" if [ -e "$CA"/certs/"$SERIAL".pem ]; then # openssl lacks useful exit status codes, so we check to see if it actually did anything instead. mv -i "$1" "$CA"/signed/$NAME.csr - ln "$CA"/certs/"$SERIAL".pem "$CA"/signed/"$1".crt # so we can find the certificate by name as well as serial + ln "$CA"/certs/"$SERIAL".pem "$CA"/signed/"$NAME".crt # so we can find the certificate by name as well as serial echo "Use ./mailcert.sh $NAME [emailaddress] to use sendmail to deliver the CA and user certificate." fi -- cgit v1.2.3