检查SSL证书有效日期

来源:互联网 发布:金融数据分析导论 编辑:程序博客网 时间:2024/05/17 04:29

通常来说,证书有效期校验和警告是CA那边控制的,如果想自己校验,得做额外事情。

如果是client端校验,比较简单了,在获得SSLSocketFactory时,传入KeyStore时,可以根据Alias找到证书,做校验:

            java.security.cert.Certificate c = trustStore.getCertificate("server");            if(c!=null && c instanceof X509Certificate)            {                ((X509Certificate )c).checkValidity();            }


如果是server端校验,有如下方法:

1. 写monitor定时创建ssl连接; (不推荐,因为HTTPS连接建立开销很大,而且速度相比HTTP连接慢多了)

2. 写脚本调用证书工具检查,各种工具检查日期命令如下:

openssl:

openssl x509 -in server.crt -noout -dates

如果只检查过期日期,用-enddate替换-dates


keytool:

利用keytool -list -v -keystore server.crt 的list功能,加-v参数,输出复杂信息,然后过滤

find /opt/keystores -name 'mdfcp_https.keystore' | xargs -i bash -c "echo {};keytool -list -v -keystore {} -storepass password | grep 'until: *' -A 3 -B 7"