From b1fceb7ad18be38d51ffb262b2e18029962f4a08 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 11 Feb 2019 08:36:13 -0600 Subject: [PATCH] Update nodemgmt-scripts.sh --- nodemgmt-scripts.sh | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/nodemgmt-scripts.sh b/nodemgmt-scripts.sh index 7604efad..b5b536e1 100755 --- a/nodemgmt-scripts.sh +++ b/nodemgmt-scripts.sh @@ -584,7 +584,41 @@ LISTCERTS(){ echo echo -e "${idsCL[LightGreen]}Current Certificates on Node...${idsCL[Default]}" DIVIDER - /opt/idssys/nodemgmt/ssl-cert-check/ssl-cert-check -f /opt/idssys/nodemgmt/ssl-cert-check/ssldomains + echo -e "Subject Name Expires Alternate Subjects" + DIVIDER + AWK=$(which awk) + DATE=$(which date) + GREP=$(which grep) + OPENSSL=$(which openssl) + SED=$(which sed) + for certdir in /etc/letsencrypt/live/*/ ; do + SUBJECT=$(openssl x509 -in ${certdir}/cert.pem -noout -subject|grep -oP '(?<=CN = )[^,]+'|sort -uV) + SUBJECTNAMES=$(openssl x509 -in ${certdir}/cert.pem -noout -text|grep -oP '(?<=DNS:|IP Address:)[^,]+'|sort -uV) + SUBJECTNAMES=${SUBJECTNAMES//$'\n'/, } + SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/${SUBJECT}, //g") + SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/, ${SUBJECT}//g") + SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/${SUBJECT}//g") + CERTEXPIRE=$(date -d "$(: | openssl x509 -in ${certdir}/cert.pem -text | grep 'Not After' |awk '{print $4,$5,$7}')" '+%s'); + DAYS=14; DUEIN=$(($(date +%s) + (86400*$DAYS))); + + + + SUBJECT=$(${OPENSSL} x509 -in ${certdir}/cert.pem -text -subject -noout -inform pem | \ + ${SED} -e 's/.*CN=//' | \ + ${SED} -e 's/\/.*//') + + + declare -i cw; declare -i spc1; declare -i c + c=0; cw=30; spc='' + spc1=${cw}-${#SUBJECT} + until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + if [ $DUEIN -gt $CERTEXPIRE ]; then + date="${idsST[Bold]}${idsCL[Red]}$(date -d @${CERTEXPIRE} '+%m-%d-%Y')${idsST[Reset]}${idsCL[Default]}" + else + date="${idsCL[Green]}$(date -d @${CERTEXPIRE} '+%m-%d-%Y')${idsCL[Default]}" + fi + echo -e "${idsCL[Cyan]}${SUBJECT}${spc}${date} ${idsCL[Cyan]}${SUBJECTNAMES}${idsCL[Default]}" + done echo if [ -z $action ] || [ "${action}" = "gui" ]; then DIVIDER true