SSL Wildcard Letsencrypt Certificate Renewal
/usr/local/bin/renew-ssl-wildcard.sh
SSL Check and Renew Wildcard
uses Letsencrypt with OVH api to request a wildcard certificate
#@pknw1
#!/bin/bash
# renew wildcard SSL certs
DOMAIN=$1
function renew() {
sudo docker run -it --rm --name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
-v "/root/ovh.conf:/ovh.conf" \
certbot/dns-ovh certonly --dns-ovh --dns-ovh-credentials /ovh.conf \
--agree-tos -m pknw1@hotmail.co.uk \
-d *."${DOMAIN}" -d "${DOMAIN}"
}
function merge() {
if [ -f /etc/ssl/private/wildcard-"${DOMAIN}".pem ]; then sudo rm /etc/ssl/private/wildcard-"${DOMAIN}".pem; fi
sudo find /etc/letsencrypt/live -type l -iname '*pem' -mmin -3 -exec cat "{}" >> /etc/ssl/private/wildcard-"${DOMAIN}".pem \;
}
function pfx() {
if [ -f /etc/ssl/private/wildcard-"${DOMAIN}".pem ]; then sudo openssl pkcs12 -inkey /etc/ssl/private/wildcard-"${DOMAIN}".pem -in /etc/ssl/private/wildcard-"${DOMAIN}".pem -export -out /etc/ssl/private/wildcard-"${DOMAIN}".pfx -passout pass:
fi
}
renew
merge
pfx
ntfy.sh ssl renewal complete
pemCheck script
This script checks a certificate to check if it is expired or not
#!/bin/bash
# /usr/local/bin/pemCheck <certfile>
CURRENT=$(date +%s)
CERT=$(openssl x509 -enddate -noout -in "${1}" | awk -F\= '{print $2}')
CHECK=$(date -d"${CERT}" +%s)
if [[ $CHECK -lt $CURRENT ]]
then
echo "removing ${1}"
rm "${1}"
else
echo "valid cert ${1} expires ${CERT}"
fi
asdas
- script info
- check mark
further info
more text more text