(a)获取X509Certificate类型对象
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in1=new FileInputStream("aa.crt");
java.security.cert.Certificatec1=cf.generateCertificate(in1);
X509Certificate t=(X509Certificate)c1;
in2.close();
(b)获取日期
Date TimeNow=new Date();
(c)检验有效性
try{
t.checkValidity(TimeNow);
System.out.println("OK");
}catch(CertificateExpiredException e){//过期
System.out.println("Expired");
System.out.println(e.getMessage());
}catch((CertificateNotYetValidException e){ //尚未生效
System.out.println("Too early");
System.out.println(e.getMessage());}
(2)验证证书签名的有效性
(a)获取CA证书
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in2=new FileInputStream("caroot.crt");
java.security.cert.Certificatecac=cf.generateCertificate(in2);
in2.close();
(c)获取CA的公钥
PublicKey pbk=cac.getPublicKey();
(b)获取待检验的证书(上步已经获取了,就是C1)
(c)检验证书
boolean pass=false;
try{
c1.verify(pbk);
pass=true;
}catch(Exception e){
pass=false;
System.out.println(e);
}
java数字签名源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 签名、java数字签名源代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 直播玉米话术,直播玉米种植技术
- html5语法简单吗,html5语法详解
- word中有什么目录,word目录有什么作用
- 在css里实现文字居中,css如何使文字居中
- 怎么知道mysql的版本 怎样查看mysql版本号
- 如何做好90后的群营销的简单介绍
- dota2有些地图服务器在国外,dota2服务器地区
- u盘文件密码隐藏怎么解除,u盘里的文件加密密码忘了怎么办
- go语言源代码编译 golang 源码编译