這個可以 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 的,可以參考參考

 

Related posts 相關文章
openssl 解開 pfx 出現錯誤
More...
GitLab 17.7 使用 openssl 3 與 tls 1.2
More...
用 DNSSEC 是為了安全,但如果憑證過期了怎麼辦
More...
使用 dehydrated 安裝 Let’s Encrypt SSL 憑證
More...

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。