没有合适的资源?快使用搜索试试~ 我知道了~
java对数字证书常用操作
需积分: 34 7 下载量 169 浏览量
2010-09-13
16:00:35
上传
评论
收藏 34KB DOC 举报
温馨提示
试读
4页
java对数字证书常用操作,总结了一下java操作数字证书的常用方法,非常有用!
资源推荐
资源详情
资源评论
一: 导入所需 jar 包
import java.io.*;
import java.util.*;
import java.security.*;
import java.security.cert.*;
import sun.security.x509.*
import java.security.cert.Certicate;
import java.security.cert.CerticateFactory;
二:从文件中读取证书
用 keytool 将.keystore 中的证书写入文件中,然后从该文件中读取证书信息
CerticateFactory cf=CerticateFactory.getInstance("X.509");
FileInputStream in=new FileInputStream("out.csr");
Certicate c=cf.generateCerticate(in);
String s=c.toString();
三:从密钥库中直接读取证书
String pass="123456";
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,pass.toCharArray());
java.security.cert.Certicate c=ks.getCerticate(alias);//alias 为条目的别名
四:JAVA 程序中显示证书指定信息
System.out.println("输出证书信息:"+c.toString());
System.out.println("版本号:"+t.getVersion());
System.out.println("序列号:"+t.getSerialNumber().toString(16));
System.out.println("主体名:"+t.getSubjectDN());
System.out.println("签发者:"+t.getIssuerDN());
System.out.println("有效期:"+t.getNotBefore());
System.out.println("签名算法:"+t.getSigAlgName());
byte [] sig=t.getSignature();//签名值
PublicKey pk=t.getPublicKey();
byte [] pkenc=pk.getEncoded();
System.out.println("公钥");
for(int i=0;i<pkenc.length;i++){
System.out.print(+pkenc[i]+",");
}
五:JAVA 程序列出密钥库所有条目
String pass="123456";
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,pass.toCharArray());
Enumeration e=ks.aliases();
while(e.hasMoreElements()){
Certicate c=ks.getCerticate((String)e.nextElement());
}
六:JAVA 程序修改密钥库口令
String oldpass="123456";
String newpass="654321";
资源评论
xinlonghappy
- 粉丝: 0
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功