【问题标题】:Importing .pfx within BouncyCastle-Keystore在 BouncyCastle-Keystore 中导入 .pfx
【发布时间】:2012-03-12 20:01:59
【问题描述】:

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

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

我将不胜感激。

【问题讨论】:

    标签: certificate bouncycastle x509


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      不确定您的情况 - 但许多工具都隐含假设在私钥上有密码和/或在 PKCS#12 外壳上具有相同密码;它是相同的并且是 4 或 6 个字符。我发现使用“abcd1234”之类的东西是一种相当安全的跨供应商(当然也可以是真正的供应商)。

      【讨论】:

      • 问题是,关键是要长
      猜你喜欢
      • 1970-01-01
      • 2018-10-12
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 2019-06-24
      • 2013-04-22
      相关资源
      最近更新 更多