- 50
- 0
我想用代码方式查看ca证书到期时间,以下是我的代码,可以显示日期,但是和实际的截止日期不一致
希望各位大牛帮忙看一下问题出在哪,多谢啦
import java.io.*;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class CertificateRemind {
public static X509Certificate x509Certificate = null;
public static Process process = null;
public static void MessageRemind(String url,int port){
Runtime runtime = Runtime.getRuntime();
try {
String connect = "openssl s_client -connect " + url + ":" + port;
process = runtime.exec(connect);
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
x509Certificate = (X509Certificate) certificateFactory.generateCertificate(process.getInputStream());
System.out.print((x509Certificate.getNotAfter().getTime()-new Date().getTime())/(24*60*60*1000)+"天");
long date = x509Certificate.getNotAfter().getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(simpleDateFormat.format(date));
} catch (IOException e) {
e.printStackTrace();
} catch (CertificateException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
CertificateRemind.MessageRemind("***.***.***",443);
}
}
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
时光划破青春 普通会员 1楼
你的代码是在获取证书的过期日期,这可能在证书过期之前或之后。证书过期通常会返回一个字符串,这个字符串的格式可能会根据具体的证书和使用的API有所不同。在你的代码中,你获取的可能是证书的"notAfter"属性。
如果你想获取证书的过期日期,你可以使用Python的
ssl模块。以下是一个简单的例子:```python import ssl import datetime
cert = ssl.load_certificate("path/to/certificate.pem", context="insecure") print(cert.get_notAfter()) ```
在这个例子中,
context="insecure"表示证书是在不安全的环境中加载的,这可能会影响证书的过期日期。你需要根据你的实际情况来设置这个参数。注意,这个代码会打印出证书的"notAfter"属性的值,这可能会与实际的截止日期不一致。这是因为这个属性的值可能在证书过期之前或之后。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

