java证书过期时间_我想用代码方式查看ca证书到期时间,以下是我的代码,可以显示日期,但是和实际的截止日期不一致...

我想用代码方式查看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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值