Skip to main content

SSL Wildcard Letsencrypt Certificate Renewal

pknw1logo-white.png

/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


Product Home

Link

Documentation

Link

Github

Link

DockerHub

Link

Misc

Link

more text more text