You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.5 KiB
45 lines
1.5 KiB
9 years ago
|
#!/bin/sh
|
||
|
|
||
9 years ago
|
ACTION=${1}
|
||
9 years ago
|
|
||
9 years ago
|
if [[ "$ACTION" == "deploy_cert" ]]; then
|
||
9 years ago
|
# New cert
|
||
9 years ago
|
DOM=${2}
|
||
|
KEY=${3}
|
||
|
CRT=${4}
|
||
|
CHAIN=${5}
|
||
9 years ago
|
/sbin/e-smith/db configuration setprop modSSL key $KEY crt $CRT CertificateChainFile $CHAIN
|
||
9 years ago
|
# There's a new ssl-udpate event which update everything in a single event
|
||
|
# fallback to manual operations if this event doesn't exist
|
||
|
if [ -d /etc/e-smith/events/ssl-update ]; then
|
||
|
/sbin/e-smith/signal-event ssl-update
|
||
|
else
|
||
|
/sbin/e-smith/expand-template /home/e-smith/db/ssl.pem/pem
|
||
|
/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
|
||
|
/sbin/e-smith/expand-template /var/service/qpsmtpd/ssl/cert.pem
|
||
|
/usr/bin/sv 1 /service/httpd-e-smith
|
||
|
/usr/bin/sv h /service/ldap
|
||
|
/usr/bin/sv 1 /service/pop3s
|
||
|
/usr/bin/sv h /service/qpsmtpd
|
||
|
/usr/bin/sv h /service/sqpsmtpd
|
||
|
if [ -d /service/dovecot ]; then
|
||
|
/usr/bin/sv 1 /service/dovecot
|
||
|
/usr/bin/sv h /service/dovecot
|
||
|
else
|
||
|
/usr/bin/sv 1 /service/imaps
|
||
|
fi
|
||
|
fi
|
||
9 years ago
|
# Now revoke old certificates
|
||
|
CUR_CRT=$(readlink /home/e-smith/db/letsencrypt.sh/certs/$DOM/cert.pem)
|
||
|
for cert in $(find /home/e-smith/db/letsencrypt.sh/certs/$DOM/ -type f -name cert\*.pem -exec basename "{}" \;); do
|
||
|
if [[ "$cert" != "$CUR_CRT" ]]; then
|
||
|
/usr/bin/letsencrypt.sh -r /home/e-smith/db/letsencrypt.sh/certs/$DOM/$cert
|
||
|
fi
|
||
|
done
|
||
|
elif [[ "$ACTION" == "clean_challenge" ]]; then
|
||
|
ALTNAME=${2}
|
||
|
if [[ "$ALTNAME" == "" ]]; then
|
||
9 years ago
|
echo "Error while creating or renewing letsencrypt certificate" | mail -s "Letsencrypt error" admin
|
||
|
fi
|
||
|
fi
|