Browse Source

check-cert: colours

master
Maxim Likhachev 5 years ago
parent
commit
65f0258c06
  1. 23
      scripts/check-cert

23
scripts/check-cert

@ -1,8 +1,27 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Simple script to check web resource's TLS certificates.
red="$(printf '\033')[1;31m"
green="$(printf '\033')[1;32m"
rstc="$(printf '\033')[00m"
DOMAIN=${1:?USAGE: check-cert [domain name]} DOMAIN=${1:?USAGE: check-cert [domain name]}
echo | { openssl s_client -connect "${DOMAIN}:443" \ CERT_INFO=$(echo | { openssl s_client -connect "${DOMAIN}:443" \
| openssl x509 -noout -dates; | openssl x509 -noout -dates;
} 2>&1 | sed -E '/verify|DONE/d; s/^depth=[0-9]+[[:space:]]+//' } 2>&1 | sed -E '/verify|DONE/d; s/^depth=[0-9]+[[:space:]]+//')
EXPIRE_AT=$(grep notAfter <<<"$CERT_INFO" | cut -d '=' -f 2-)
CURRENT_DATE=$(date '+%s')
EXPIRE_DATE=$(date -d "$EXPIRE_AT" '+%s')
if [ "$EXPIRE_DATE" -gt "$CURRENT_DATE" ]; then
hl="$green"
else
hl="$red"
fi
echo -e "$CERT_INFO" | sed "s/$EXPIRE_AT/${hl}\0${rstc}/"

Loading…
Cancel
Save