molly-brown/rootfs/etc/cont-init.d/02-tls

22 lines
749 B
Plaintext

#!/usr/bin/with-contenv sh
KEY="/etc/molly-brown/keys/$HOST_NAME-key.pem"
CERT="/etc/molly-brown/keys/$HOST_NAME-cert.pem"
if [ ! -f "$KEY" ] || [ ! -f "$CERT" ]; then
openssl req -x509 -newkey rsa:4096 -keyout "$KEY" -out "$CERT" -days 3650 -nodes -subj "/CN=$HOST_NAME"
fi
chown molly-brown:molly-brown "$KEY"
chown molly-brown:molly-brown "$CERT"
date_valid="$(openssl x509 -in "$CERT" -enddate -noout | sed "s/.*=\(.*\)/\1/")"
seconds_valid="$(date --date "$date_valid" +"%s")"
now="$(date "+%s")"
days="$(echo "($seconds_valid - $now)/(60 * 60 * 24)" | bc)"
if [ "$days" -lt 7 ]; then
echo "only $days to go, generating new certificate..."
openssl req -x509 -key "$KEY" -out "$CERT" -days 3650 -nodes -subj "/CN=$HOST_NAME"
fi