這個可以 GET 得到憑證的一些資訊
openssl s_client -connect ssorc.tw:443
所以要從中抓取我要的
echo \"QUIT\" | openssl s_client -connect ssorc.tw:443 2>/dev/null | openssl x509 -noout -enddate -issuer 2>/dev/null
也可以用
openssl s_client -connect ssorc.tw:443 < /dev/null 2>&1 | openssl x509 -noout -enddate -issuer 2>/dev/null
另一種寫法,放在 script 裡的
#!/bin/sh echo "HEAD / HTTP/1.0 Host: $1:443 EOT " \ | openssl s_client -connect $1:443 2>&1 \ | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' \ | openssl x509 -noout -text -certopt no_signame \ | egrep '(Not Before:|Not After :|Issuer:)'
再執行 sh xxx.sh ssorc.tw
nagios 的 check_http 也可用
/usr/local/nagios/libexec/check_http --ssl -C 60 -H ssorc.tw
perl 的寫法
use strict; use Net::SSL::ExpireDate; my $ed = Net::SSL::ExpireDate->new( https => 'ssorc.tw:443' ); my $expire_date = $ed->expire_date; my $begin_date = $ed->begin_date; print "$begin_date ~ $expire_date";
這邊 (點我) 有人用 PHP 寫好一個簡單的 web 介面,然後用 shell 去掃區網 IP 是否有用 SSL 的,可以參考參考
留言