【问题标题】:How do I generate a pfx file from PEM?如何从 PEM 生成 pfx 文件?
【发布时间】:2022-01-18 12:13:34
【问题描述】:

我有一堆 .Pem 文件。

一个是(据我所知)CACert

mycacert.pem

另一个是证书

mycert.pem

最后我被引导相信的是密钥文件,它被混淆地称为与证书相同的东西(但对于这个例子,我将称之为不同的东西)

key.pem

我如何从这些形成 PFX 文件?

我已尝试运行以下命令

openssl pkey -in C:\Temp\key.pem -out C:\Temp\my.key

但是我得到以下错误

无法加载密钥 2147581984:error:0909006C:PEMroutines:get_name:no 起始行:crypto/pem/pem_lib.c:745:Expecting: ANY PRIVATE KEY

如果我在记事本中打开文件,我会看到以下内容

-----开始新的证书申请----- 许多字符 ------结束新证书请求-----

基本上我只需要从我拥有的文件中创建一个 pfx,但我似乎需要一个 *.key 文件、一个 *.crt 文件和另一个用于 CACert 的 *.crt 文件,我没有这些文件。

还有一点需要注意。这两个证书 pem 文件各自包含多个证书。

【问题讨论】:

  • pfx 只是 p12 = PKCS#12 的别名。所以你应该使用openssl pkcs12 ...来创建一个。
  • 但是为此,我需要一个 *.key 文件、一个 *.crt 和一个 CA *.crt。我只有一堆 PEM 文件...
  • PEM 文件只是具有不同扩展名的 base64 编码文件。 PEM files con 包含密钥文件、证书等。
  • 那么 -----BEGIN NEW CERTIFICATE REQUEST----- 标头对于密钥文件是否正确?我将其更改为 -----BEGIN RSA PRIVATE KEY----- 并且在使用 openssl rsa 检查密钥文件时遇到了一堆非常不同的错误。
  • 不要更改标题,CERTIFICATE REQUEST 是 PEM 格式的“证书签名请求 (CSR)”(您必须将其发送到您的 Ca 以便签名,但您应该已经包含私钥的文件)。 PEM 密钥有一个带有 PRIVATE KEY 或类似的标题。很抱歉,您的问题不完整:您没有告诉我们您想要做什么您已经执行了哪些步骤。在那种状态下,问题无法回答。

标签: ssl openssl ssl-certificate


【解决方案1】:

您要查找的命令是:

openssl pkcs12 -export -in cert.pem -inkey key.pem -out pkcs12.pfx -certfile cacert.pem

cert.pem 是您的证书,key.pem 是私钥,cacert.pem 是 CA 证书,pkcs12.pfx 是要创建的 pkcs12 文件。

该命令可能会要求输入密码来解密私钥,并会要求输入新密码来加密 pkcs12 中的私钥。

您可以找到openssl pkcs12 命令文档,here

【讨论】:

    猜你喜欢
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    相关资源
    最近更新 更多