Add LetsEncrypt support
This commit is contained in:
Executable
+53
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
EXPIRATIONDAYS=0
|
||||
|
||||
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/')
|
||||
|
||||
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');
|
||||
|
||||
EXPIRATIONDATE=$(openssl x509 -in "${CERTIFICATE}" -noout -text | grep 'Not After' | awk '{printf "%s %.2d %s %s\n",$4,$5,$7,$6}')
|
||||
EXPIRATIONDATENUMERIC=$(date -d "${EXPIRATIONDATE}" '+%s');
|
||||
|
||||
if [ ${STARTNOTIFICATIONDATE} -lt ${STARTDATENUMERIC} ]
|
||||
then
|
||||
OUTPUT="\tOn ${STARTDATE}, the Certificate for \"${SUBJECT}\" will become valid"
|
||||
fi
|
||||
|
||||
OUTPUT="\tOn ${EXPIRATIONDATE}, the Certificate for \"${SUBJECT}\" will expire"
|
||||
}
|
||||
|
||||
for DIRECTORY in ./*/
|
||||
do
|
||||
DIRECTORY=${DIRECTORY%*/}
|
||||
DIRECTORY=${DIRECTORY:2}
|
||||
|
||||
if [ "${DIRECTORY}" != "openssl" ]; then
|
||||
echo -e "\n${DIRECTORY}:"
|
||||
cd "${DIRECTORY}"
|
||||
|
||||
for CERTIFICATE in ./*.crt
|
||||
do
|
||||
if [[ -f "${CERTIFICATE}" ]]
|
||||
then
|
||||
checkCertificate ${CERTIFICATE}
|
||||
echo -e "${OUTPUT}"
|
||||
fi
|
||||
done
|
||||
|
||||
cd - > /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user