X-Git-Url: https://git.distorted.org.uk/~mdw/distorted-ansible/blobdiff_plain/9b7aea2fd71ae70e8386ab64b79c6d7a085c92dc..ea9ce43e9d2e8b66c4774bb82bbb513710da736d:/roles/debian/files/pki/check-x509-certs diff --git a/roles/debian/files/pki/check-x509-certs b/roles/debian/files/pki/check-x509-certs new file mode 100755 index 0000000..b395019 --- /dev/null +++ b/roles/debian/files/pki/check-x509-certs @@ -0,0 +1,35 @@ +#! /bin/sh -e + +conf=/etc/ca/check-x509-certs.conf +time=$(( 7 * 86400 )) +usage="usage: $0 [-c CONF] [-d DAYS] [-s SECS]" + +while getopts c:d:s: opt; do + case "$opt" in + c) conf=$OPTARG ;; + d) time=$(( $OPTARG * 86400 )) ;; + s) time=$OPTARG ;; + *) echo >&2 "$usage"; exit 1 ;; + esac +done +shift $(( $OPTIND - 1 )) +case $# in 0) ;; *) echo >&2 "$usage"; exit 1 ;; esac + +if [ ! -f $conf ]; then exit 0; fi + +any=nil +while read line; do + case "$line" in "" | "#"*) continue ;; esac + file=$line + if openssl x509 -in "$file" -noout -checkend $time; then + continue + fi + if openssl x509 -in "$file" -noout -checkend 0; then + state="expires soon" + else + state="ALREADY EXPIRED!" + fi + case $any in nil) any=t ;; t) echo ;; esac + echo "$file: $state" + openssl x509 -in "$file" -noout -issuer -dates +done <"$conf"