检查SSL证书有效日期

通常来说,证书有效期校验和警告是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" 


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页