From 3d0b3c1cac0f2ffc502b052bcc194aa6e7d04011 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Sep 22 2017 14:32:13 +0000 Subject: Handle edge-cases in gencerts Make sure that we exit with success if the files already exist and that we exit with failure and a message if only one or the other is present. --- diff --git a/httpd-ssl-gencerts b/httpd-ssl-gencerts index 371a838..19e1446 100755 --- a/httpd-ssl-gencerts +++ b/httpd-ssl-gencerts @@ -4,11 +4,24 @@ set -e FQDN=`hostname` -if test -f /etc/pki/tls/certs/localhost.crt -o \ +if test -f /etc/pki/tls/certs/localhost.crt -a \ -f /etc/pki/tls/private/localhost.key; then + exit 0 +fi + +if test -f /etc/pki/tls/certs/localhost.crt -a \ + ! -f /etc/pki/tls/private/localhost.key; then + echo "Missing certificate key!" + exit 1 +fi + +if test !-f /etc/pki/tls/certs/localhost.crt -a \ + -f /etc/pki/tls/private/localhost.key; then + echo "Missing certificate, but key is present!" exit 1 fi + sscg -q \ --cert-file /etc/pki/tls/certs/localhost.crt \ --cert-key-file /etc/pki/tls/private/localhost.key \