2012-02-22 99 views
0

我有一个关于将.pfx证书导入bouncycastle-keystore的问题。错误消息表示“...篡改密钥库文件或PKCS12密码错误...”。我用Windows的CertMgr导出了证书。 证书导出为.pfx文件。我想用他们的私钥导入证书,以便与tls的客户端身份验证一起使用它们。在BouncyCastle-Keystore中导入.pfx

我将不胜感激任何帮助,

亲切的问候。

回答

0

不确定你的情况 - 但很多工具暗示假设PKCS#12机箱上的私钥和/或密码上有密码;它是相同的,并且是4或6个字符。我发现使用诸如'abcd1234'之类的东西是跨供应商使用的相当安全的一种(当然也可以是真正的)。

+0

的问题是,是,关键是要长 – user1168876 2012-02-27 12:16:24

4

Windows的PFX文件只是重命名为PKCS#12文件,您甚至不需要BouncyCastle来导入它们:您可以使用Java的内置KeyStore API(对密码长度或组合没有限制 - 如果您想要“无密码”,你可以使用空字符串)。

通常,PKCS12/PFX导入代码看起来是这样的:

FileInputStream fis = new FileInputStream("your.pfx"); 
String password = "your-password"; 

KeyStore ks = KeyStore.getInstance("pkcs12"); 
ks.load(fis, password.toCharArray()); 
String alias = ks.aliases().nextElement(); 

PrivateKey pKey = (PrivateKey)ks.getKey(alias, password.toCharArray()); 
X509Certificate cert = (X509Certificate)ks.getCertificate(alias);