summaryrefslogtreecommitdiff
path: root/signcsr.sh
diff options
context:
space:
mode:
Diffstat (limited to 'signcsr.sh')
-rwxr-xr-xsigncsr.sh9
1 files changed, 5 insertions, 4 deletions
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