1 changed files with 21 additions and 2 deletions
@ -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…
Reference in new issue