From 65f0258c063dab8fbc9241af66a9df9ef98bf3df Mon Sep 17 00:00:00 2001 From: Maxim Likhachev Date: Sun, 25 Oct 2020 03:31:59 +0300 Subject: [PATCH] check-cert: colours --- scripts/check-cert | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/scripts/check-cert b/scripts/check-cert index c316943..10f0f0e 100755 --- a/scripts/check-cert +++ b/scripts/check-cert @@ -1,8 +1,27 @@ #!/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]} -echo | { openssl s_client -connect "${DOMAIN}:443" \ +CERT_INFO=$(echo | { openssl s_client -connect "${DOMAIN}:443" \ | 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}/"