public void httpsUrl(String httpsurl) throws Exception {
URL url = new URL(httpsurl);
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.connect();
for (Certificate certificate : connection.getServerCertificates()) {
//第一个就是服务器本身证书,后续的是证书链上的其他证书
X509Certificate x509Certificate = (X509Certificate) certificate;
//过期时间配置
long day = (x509Certificate.getNotAfter().getTime() - new Date().getTime()) / 1000 / 60 / 60 / 24;
if (day <= 30) {
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);
SimpleDateFormat sdfss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/*
System.out.println(x509Certificate.getSubjectDN());
System.out.println(sdfss.format(sdf.parse(x509Certificate.getNotBefore() + "")));//有效期开始时间
System.out.println(sdfss.format(sdf.parse(x509Certificate.getNotAfter() + "")));//有效期结束时间
*/
//发送钉钉通知
dingding(DINGDING_TOKEN, "域名:" + url + "\n证书还有" + day + "天过期\n到期时间:" + sdfss.format(sdf.parse(x509Certificate.getNotAfter() + "")));
}
}
connection.disconnect();
}
验证https证书过期时间
最新推荐文章于 2024-03-30 09:53:09 发布