Certificate 在BouncyCastle密钥库中导入.pfx
我有一个关于将.pfx证书导入bouncycastle密钥库的问题。错误消息显示“…密钥库文件被篡改或PKCS12密码不正确…”。我已使用Windows的CertMgr导出证书 证书将导出为.pfx文件。我想导入带有私钥的证书,以便将其与tls的客户端身份验证结合使用Certificate 在BouncyCastle密钥库中导入.pfx,certificate,bouncycastle,x509,Certificate,Bouncycastle,X509,我有一个关于将.pfx证书导入bouncycastle密钥库的问题。错误消息显示“…密钥库文件被篡改或PKCS12密码不正确…”。我已使用Windows的CertMgr导出证书 证书将导出为.pfx文件。我想导入带有私钥的证书,以便将其与tls的客户端身份验证结合使用 非常感谢您的帮助。不确定您的案例,但很多工具都暗示了在私钥和/或PKCS#12机柜上有密码的假设;它是相同的,是4或6个字符。我发现使用像“abcd1234”这样的东西在供应商之间使用是相当安全的(当然也可以是真正的)。不确定您的
非常感谢您的帮助。不确定您的案例,但很多工具都暗示了在私钥和/或PKCS#12机柜上有密码的假设;它是相同的,是4或6个字符。我发现使用像“abcd1234”这样的东西在供应商之间使用是相当安全的(当然也可以是真正的)。不确定您的情况-但是很多工具都有关于在私钥和/或PKCS#12机柜上使用相同密码的假设;它是相同的,是4或6个字符。我发现使用像“abcd1234”这样的东西在供应商之间使用是相当安全的(当然是真正的)。Windows的PFX文件只是重命名为PKCS#12文件,您甚至不需要BouncyCastle来导入它们:您可以使用Java的内置密钥库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);
Windows的PFX文件被重命名为PKCS#12文件,您甚至不需要BouncyCastle来导入它们:您可以使用Java内置的密钥库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);
问题是,关键是长跑问题是,关键是长跑