*Check for letsencrypt by the LETSENCRYPT object, not the cert metadata

This commit is contained in:
Derrick Hammer 2016-07-31 06:48:06 -04:00
commit 50f1db1abf

View file

@ -28,29 +28,27 @@ users=$(ls $VESTA/data/users/*/ssl/le.conf |cut -f 7 -d /)
# Checking users # Checking users
for user in $users; do for user in $users; do
# Checking user certificates # Checking user certificates
for crt in $(ls $VESTA/data/users/$user/ssl/*.crt 2>/dev/null); do for domain in $(search_objects 'web' 'LETSENCRYPT' 'yes' 'DOMAIN'); do
# Checking certificate issuer # Checking certificate issuer
crt_data=$(openssl x509 -text -in $crt) crt_data=$(openssl x509 -text -in "$VESTA/data/users/$user/ssl/$domain.crt")
issuer=$(echo "$crt_data" |grep Issuer: |grep Encrypt)
if [ ! -z "$issuer" ]; then expire=$(echo "$crt_data" |grep "Not After")
expire=$(echo "$crt_data" |grep "Not After") expire=$(echo "$expire" |cut -f 2,3,4 -d :)
expire=$(echo "$expire" |cut -f 2,3,4 -d :) expire=$(date -d "$expire" +%s)
expire=$(date -d "$expire" +%s) now=$(date +%s)
now=$(date +%s) expire=$((expire - now))
expire=$((expire - now)) expire=$((expire / 86400))
expire=$((expire / 86400)) domain=$(basename $crt |sed -e "s/.crt$//")
domain=$(basename $crt |sed -e "s/.crt$//") if [[ "$expire" -lt 31 ]]; then
if [[ "$expire" -lt 31 ]]; then aliases=$(echo "$crt_data" |grep DNS:)
aliases=$(echo "$crt_data" |grep DNS:) aliases=$(echo "$aliases" |sed -e "s/DNS://g" -e "s/,//")
aliases=$(echo "$aliases" |sed -e "s/DNS://g" -e "s/,//") aliases=$(echo "$aliases" |tr ' ' '\n' |sed "/^$/d")
aliases=$(echo "$aliases" |tr ' ' '\n' |sed "/^$/d") aliases=$(echo "$aliases" |grep -v "^$domain$")
aliases=$(echo "$aliases" |grep -v "^$domain$") if [ ! -z "$aliases" ]; then
if [ ! -z "$aliases" ]; then aliases=$(echo "$aliases" |sed -e ':a;N;$!ba;s/\n/,/g')
aliases=$(echo "$aliases" |sed -e ':a;N;$!ba;s/\n/,/g') $BIN/v-add-letsencrypt-domain $user $domain $aliases
$BIN/v-add-letsencrypt-domain $user $domain $aliases else
else $BIN/v-add-letsencrypt-domain $user $domain
$BIN/v-add-letsencrypt-domain $user $domain
fi
fi fi
fi fi
done done