【问题标题】:How can I import a .pfx file that was created without a password?如何导入没有密码创建的 .pfx 文件?
【发布时间】:2015-07-19 02:42:46
【问题描述】:

我使用 java bouncycastle 库创建了一个 PFX PDU。在 PFX PDU 内部,有两个证书和两个加密的私钥。所有内容都用作 PKCS#7 数据内容(即不加密,存储为八位字节字符串)。我根据 PKCS#12 (RFC 7292 Section 5) 的指导方针组织了元素。然后我将 DER 编码的字节数组写入一个文件。

我在十六进制编辑器中打开了文件,发现对象结构没问题。我还阅读了文件内容并从中构建了一个 bouncycastle PFX 对象。但是当我尝试从我的文件系统打开 .pfx 文件时,证书导入向导会要求输入私钥的密码。我没有使用任何密码来创建 PFX 对象。我尝试使用空字符串和用于加密私钥的密码,但它们不起作用。显示“您输入的密码不正确”。

我在这里错过了什么吗?如何获取导入证书所需的密码?

【问题讨论】:

    标签: bouncycastle pfx pkcs#12


    【解决方案1】:

    在 RFC 7292 第 41 页第 4.1 节中,描述了 AuthenticatedSafe 的详细信息。 AuthenticatedSafe 是 ContentInfo 序列,可以是三种类型之一。

    AuthenticatedSafe ::= SEQUENCE OF ContentInfo
    -- Data if unencrypted
    -- EncryptedData if password-encrypted
    -- EnvelopedData if public key-encrypted
    

    将您的authenticatedSafe 数据设为EncryptedData,您需要使用从您将使用SecretKeyFactory 和PBEParameterSpec 提供的密码生成的SecretKey 来加密AuthenticatedSafe 的BERencoded 值。

    希望这会对您有所帮助。干杯!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 2018-08-27
      • 2021-02-04
      • 2014-07-19
      • 2013-02-23
      • 2016-09-23
      相关资源
      最近更新 更多