Add LetsEncrypt support

This commit is contained in:
2022-02-09 14:07:39 +01:00
parent ce8e3a1258
commit 67d6d4159f
3 changed files with 213 additions and 38 deletions
+23 -5
View File
@@ -1,14 +1,19 @@
#!/bin/bash
EXPIRATIONDAYS=90
EXPIRATIONDAYS=14
OUTPUTBUFFER=""
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd -P )"
cd ${DIR}
checkCertificate () {
OUTPUT=""
CERTIFICATE=$@
STARTNOTIFICATIONDATE=$(date +%s)
EXPIRYNOTIFICATIONDATE=$(($(date +%s) + (86400*${EXPIRATIONDAYS})))
SUBJECT=$(openssl x509 -in "${CERTIFICATE}" -noout -text | grep "Subject:" | sed 's/^.*CN[ ]*=[ ]*\(.*\),.*$/\1/')
SUBJECT=$(openssl x509 -in "${CERTIFICATE}" -noout -text | grep "Subject:" | sed 's/^.*CN[ ]*=[ ]*\([^,]*\).*$/\1/')
STARTDATE=$(openssl x509 -in "${CERTIFICATE}" -noout -text | grep 'Not Before' | awk '{printf "%s %.2d %s %s\n",$3,$4,$6,$5}')
STARTDATENUMERIC=$(date -d "${STARTDATE}" '+%s');
@@ -18,12 +23,14 @@ checkCertificate () {
if [ ${STARTNOTIFICATIONDATE} -lt ${STARTDATENUMERIC} ]
then
echo -e "\tOn ${STARTDATE}, the Certificate for \"${SUBJECT}\" will become valid"
WARNING=true
OUTPUT="\tOn ${STARTDATE}, the Certificate for \"${SUBJECT}\" will become valid\n"
fi
if [ ${EXPIRYNOTIFICATIONDATE} -gt ${EXPIRATIONDATENUMERIC} ]
then
echo -e "\tOn ${EXPIRATIONDATE}, the Certificate for \"${SUBJECT}\" will expire"
WARNING=true
OUTPUT="\tOn ${EXPIRATIONDATE}, the Certificate for \"${SUBJECT}\" will expire\n"
fi
}
@@ -33,18 +40,29 @@ do
DIRECTORY=${DIRECTORY:2}
if [ "${DIRECTORY}" != "openssl" ]; then
echo "${DIRECTORY}:"
TEMPORARYBUFFER=""
cd "${DIRECTORY}"
for CERTIFICATE in ./*.crt
do
WARNING=false
if [[ -f "${CERTIFICATE}" ]]
then
checkCertificate ${CERTIFICATE}
if [ "${WARNING}" = true ]; then
TEMPORARYBUFFER+=${OUTPUT}
fi
fi
done
if [ ! -z "${TEMPORARYBUFFER}" ]; then
OUTPUTBUFFER+="${DIRECTORY}:\n"
OUTPUTBUFFER+=${TEMPORARYBUFFER}
fi
cd - > /dev/null
fi
done
echo -e ${OUTPUTBUFFER}