在 BouncyCastle-Keystore 中导入 .pfx

发布于 2025-01-08 20:58:18 字数 192 浏览 1 评论 0原文

我在将 .pfx 证书导入 bouncycastle-keystore 时遇到问题。错误消息显示“...篡改密钥库文件或不正确的 PKCS12 密码...”。我已经使用 Windows 的 CertMgr 导出了证书。

证书导出为 .pfx 文件。我想导入证书及其私钥,以便将它们与 tls 的客户端身份验证结合使用。

我将不胜感激任何帮助。

i've a problem concerning the import of a .pfx certificate into a bouncycastle-keystore. The error message says that "...tampered keystore file or incorrect PKCS12 Password...". I've exported the certificates with Windows' CertMgr.

The certificates are exported as .pfx files. I want to import the certificates with their private keys in order to use them in combination with tls' client authentication.

I would appreciate for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无法回应 2025-01-15 20:58:18

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);

Windows's PFX files are just renamed PKCS#12 files, and you don't even need BouncyCastle to import them: you can use Java's built-in KeyStore API (which has no limitations on password length or composition -- if you want "no password" you can use the empty string).

Usually, PKCS12 / PFX import code looks something like this:

 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);
兔姬 2025-01-15 20:58:18

不确定您的情况 - 但很多工具都隐含了关于在私钥上有密码和/或在 PKCS#12 外壳上有相同密码的假设;它是相同的并且是 4 或 6 个字符。我发现使用像“abcd1234”这样的东西对于跨供应商来说是相当安全的(或者当然是真正的)。

Not sure about your case - but a lot of tools have implied assumptions about having a password on the private key and/or the same on the PKCS#12 enclosure; it being the same and being 4 or 6 chars. I found that using something like 'abcd1234' is a fairly safe one to use across vendors (or a real one of course).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文