知识大全 Java处理PFX格式证书
Posted 知
篇首语:莫问天涯路几重,轻衫侧帽且从容。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java处理PFX格式证书相关的知识,希望对你有一定的参考价值。
Java处理PFX格式证书 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在Security编程中 有几种典型的密码交换信息文件格式: DER encoded certificate: cer crt PEM encoded message: pem PKCS# Personal Information Exchange: pfx p PKCS# Certification Request: p PKCS# cert request response: p r PKCS# binary message: p b
cer/ crt是用于存放证书 它是 进制形式存放的 不含私钥 pem跟crt/cer的区别是它以Ascii来表示 pfx/p 用于存放个人证书/私钥 他通常包含保护密码 进制方式 p 是证书请求 p r是CA对证书请求的回复 只用于导入 p b以树状展示证书链(certificate chain) 同时也支持单个证书 不含私钥
其中 我介绍如何从p /pfx文件中提取密钥对及其长度: 首先 读取pfx/p 文件(需要提供保护密码) 通过别名(Alias 注意 所有证书中的信息项都是通过Alias来提取的)提取你想要分析的证书链 再将其转换为一个以X 证书结构体 提取里面的项 如果那你的证书项放在第一位(单一证书) 直接读取 x Certs[ ](见下面的代码)这个X Certificate对象 X Certificate对象有很多方法 tain 网友希望读取RSA密钥(公私钥)及其长度(见?topicId= &forumId= &) 那真是太Easy了 X Certificate keyPairCert = x Certs[ ]; int iKeySize = X CertUtil getCertificateKeyLength(keyPairCert); System out println( 证书密钥算法= +keyPairCert getPublicKey() getAlgorithm()); System out println( 证书密钥长度= +iKeySize); 提取了他所需要的信息
package dev dev client keypair;
import java io File; import java io FileInputStream; import java io FileNotFoundException; import java io IOException; import java security KeyStore; import java security KeyStoreException; import java security NoSuchAlgorithmException; import java security NoSuchProviderException; import java security Security; import java security cert Certificate; import java security cert CertificateException; import java security cert X Certificate; import dev dev security keytool X CertUtil;
public class LoadKeyFromPKCS
public static void main(String[] args) try // Open an input stream on the keystore file String pfxFileName = c:\\\\david turing pfx ; String pfxPassword = ;
File fPkcs = null ; if (pfxFileName != null ) // Open the file fPkcs = new File(pfxFileName);
FileInputStream fis = new FileInputStream(fPkcs );
// Create a keystore object KeyStore keyStore = null ; try // Need BC provider for PKCS # BKS and UBER if (Security getProvider( BC ) == null ) throw new Exception( 不能Load入BouncyCastle! );
keyStore = KeyStore getInstance( PKCS BC ); catch (KeyStoreException ex) throw new Exception( 不能正确解释pfx文件! ); catch (NoSuchProviderException ex) throw new Exception( Security Provider配置有误! );
try // Load the file into the keystore keyStore load(fis pfxPassword toCharArray()); catch (CertificateException ex) throw new Exception( 证书格式问题! ); catch (NoSuchAlgorithmException ex) throw new Exception( 算法不支持! ); catch (FileNotFoundException ex) throw new Exception( pfx文件没找到 ); catch (IOException ex) throw new Exception( 读取pfx有误! );
// 获取我的证书链的中keyEntry的别名 Certificate[] certs = keyStore getCertificateChain( david turing ); X Certificate[] x Certs = nvertCertificates(certs);
if (x Certs == null ) return ;
x Certs = X CertUtil orderX CertChain(x Certs);
X Certificate keyPairCert = x Certs[ ];
int iKeySize = X CertUtil getCertificateKeyLength(keyPairCert); System out println( 证书密钥算法= + keyPairCert getPublicKey() getAlgorithm()); System out println( 证书密钥长度= + iKeySize);
catch (Exception e) e printStackTrace();
cha138/Article/program/Java/hx/201311/26970相关参考
Java数据压缩格式程序设计方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! GZIP压缩格式
有时候可能会用到json格式进行数据的传输那么怎么把接收到的数据解析出来呢?下面介绍两种解析json数据的方法 通过谷歌的Gs
数据压缩格式Java语言应用程序设计方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据压缩
packagetag; importjavaioBufferedInputStream; importjavaioBufferedOutputStream; importjavaioBuff
Java实现获取指定路径下的指定格式的文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 获取指
知识大全 在Java中将数据由UTF8转换成GB2312格式
Java进阶:在Java中将数据由UTF8转换成GB2312格式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
为测试Java应用程序生成证书链 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 学习如何创建数字
使用JAVA数字证书做数字签名认证 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! keyto
学java考什么证书对就业最有利?xuejava靠SCJP整数对就业最有利的这是sun公司官方的认证考试。SCJP是Sun提供的针对J2SE的两项认证之一,另一个是SCJD。CJP主要考察开发人员掌握
Java中使用密钥库和算法创建数字证书 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 实例说明