Java中解析证书文件的公钥(public key)

java 读取证书的public key

  (2011-12-30 11:50:17)
转载
标签: 

openssl

 

crt

 

证书

 

java

 

certificate

 

rsa

杂谈

分类: code
数字证书的格式遵循X.509标准。X.509是由国际电信联盟(ITU-T)制定的数字证书标准。

证书扩展文件名

.cer, .crt - 通常被用于二进制的DER文件格式 (同于.der), 不过也被用于Base64编码的文件 (例如 .pem).   
.P7B - 同于 .p7c   .P7C - PKCS#7证书格式,仅仅包含证书和CRL列表信息,没有私钥。   
.PFX - 同于 .p12   .P12 - PKCS#12文件, 包含证书(公钥)和私钥(受密码保护),已经完整的证书链信。   
PKCS#7 是一种将数据加密和签名(正式名称是“enveloping”)的技术标准。 它描述数字证书的语法和其他加密消息——尤其是,数据加密和数字签名的方法,也包含了算法。但PKCS#7不包含私钥信息。   PKCS#12 定义了一个用于保存私钥和对应公钥证书的文件格式,并由对称密钥加密保护。PKCS#12通常采用PFX,P12作为文件扩展名。 PKCS#12文件可以存放多个证书,并由密码保护,通常用于WINDOWS IIS,也能够被当作Java Keysotre文件使用,用于Tomcat,Resign,Weblogic,Jboss等,不能被用于Apache.

java 读取证书(.cer, .crt 其它未验证)
 CertificateFactory certificatefactory=CertificateFactory.getInstance("X.509");
 FileInputStream bais=new FileInputStream("f:/server.crt");
 X509Certificate Cert = (X509Certificate)certificatefactory.generateCertificate(bais);
        PublicKey pk = Cert.getPublicKey();
        BASE64Encoder bse=new BASE64Encoder();
        System.out.println("pk:"+bse.encode(pk.getEncoded()));

你可能感兴趣的:(Java)