Chinaunix首页 | 论坛 | 博客
  • 博客访问: 820694
  • 博文数量: 780
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-12 09:11
文章分类

全部博文(780)

文章存档

2011年(1)

2008年(779)

我的朋友
最近访客

分类:

2008-09-12 09:14:22

 一需要包含的包

 

    import java.security.*;

    import java.io.*;

    import java.util.*;

    import java.security.*;

    import java.security.cert.*;

    import sun.security.x509.*

    import java.security.cert.Certificate;

    import java.security.cert.CertificateFactory;

 

    二 从文件中读取证书

 

    用keytool将.keystore中的证书写入文件中,然后从该文件中读取证书信息

    CertificateFactory cf=CertificateFactory.getInstance("X.509");

    FileInputStream in=new FileInputStream("out.csr");

    Certificate c=cf.generateCertificate(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.Certificate c=ks.getCertificate(alias);//alias为条目的别名

 

    四 JAVA程序中显示证书指定信息

 

    system.out.println("输出证书信息:\n"+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

 

 

[1]    

【责编:landy】

--------------------next---------------------

阅读(472) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~