【问题标题】:Convert Godaddy certificate to .pfx file将 Godaddy 证书转换为 .pfx 文件
【发布时间】:2019-05-23 02:05:31
【问题描述】:

我从 GoDaddy 获得了 ssl 证书并下载了证书和两个文本文件。我需要一个用于 Azure Web 服务应用的 pfx 文件。 Godaddy 给我发送了两个 .crt 文件和两个文本文件,其中一个是标题为“generate-private-key.txt”的文本。 问题 1:私钥文本文件是否作为 OpenSSL pfx 文件转换实用程序的密钥文件有效输入。 问题 2:.crt 文件名中是否有任何指示,说明要使用哪个文件作为 OpenSSL 实用程序的输入。

【问题讨论】:

    标签: openssl


    【解决方案1】:

    首先,您通常使用您的私钥生成证书请求,然后将该请求提供给 CA(在本例中为 Go Daddy)。这样 CA 就不会得到你的私钥。

    如果您只是在没有证书请求的情况下请求证书,那么 CA 必须为您生成一个私钥(这不是一个好主意,因为这是使用您的证书的关键,现在 CA 可以访问它...)。如果您这样做了,那么 CA 必须向您提供私钥及其上设置的任何密码(如果有)。

    还建议您同时获取生成的证书与 CA 根证书之间的中间证书。这些很有用,因为某些客户端在没有提供它们的情况下将无法连接到您的服务器,例如火狐浏览器。

    因此,您希望将私钥、CA 提供的公共证书和 CA 中间证书组合成一个 PFX 文件,供您的 Web 服务器使用。

    私钥可以是一到两种主要格式:

    • DER - 这是一种二进制格式
    • PEM - 这是一种文本格式 - 它是 DER 格式的 base64 版本,周围有页眉和页脚。

    证书密钥可以有多种格式,但最有可能的是: - DER - 这是一种二进制格式 - PEM - 这是一种文本格式 - 它是 DER 格式的 base64 版本,周围有页眉和页脚。

    文件扩展名并不总是格式的最佳指标。尝试在文本编辑器中查看它们,看看它是否看起来像带有页眉和页脚的二进制或 base64 文本。

    openssl 中生成 PFX 文件的基本命令是 pkcs12 命令。

    你通常会这样做:

    openssl pkcs12 -export -out name.pfx xxx

    其中“xxx”取决于您必须提供的内容。例如,如果您有:

    • key.pem - pem 格式的私钥
    • cert.pem - pem 格式的公钥
    • inter.pem - pem 格式的 CA 中间证书

    那么整个命令将是:

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

    如果您不想包含 inter.pem,只需删除“-certfile inter.pem”参数即可。

    如果您的任何文件是 DER 格式,您需要先将它们转换为 PEM 格式。

    对于证书,您可以像这样使用 openssl x509 命令:

    openssl x509 -in cert.der -inform der -out cert.pem

    转换私钥取决于使用 openssl rsaec 命令的私钥类型。将密钥转换为证书的命令格式基本相同,但您使用 rsa 或 ec 而不是 x509。

    【讨论】:

    • 单击任一 .crt 文件会打开带有三个选项卡的证书窗口。详细信息选项卡有一个“复制到文件”按钮,其中包含一个带有 raio 按钮的导出向导,用于各种格式:
    • 抱歉 - 继续:选择是:DER 编码二进制 x.509; Base-64 编码的 X.509;加密消息语法标准 - PKCS #7 证书 (.P7B),如果可能,可以选择在证书路径中包含所有证书。
    • 继续(那个讨厌的 Enter 键):另外两个选项是:个人信息交换 -PKCS #12 (.PFX) 和 Microsoft 序列化证书存储 (.SST)。这两个选项都是灰色的。主要问题是我有一个 25 行的 node.js 应用程序,它呈现作为间歇工作的 Azure Web 应用程序发布的地理位置 Google 地图。 Google 地图 js API 需要 SSL 才能正常工作。 Microsoft 文档指示使用 PFX 文件在 Azure 应用服务中的自定义域上安装证书。不是证书专家,我需要澄清一下这个问题。
    • 如果您可以调出证书窗口,则该文件是 DER 格式,因为 windows 并不能很好地支持 PEM。 Base64 编码的 x509 是 PEM 格式。
    • 这些选项是灰色的,因为它是一个单一的证书文件,而 .pfx / .sst 是证书的“容器”。将单个证书转换为一个容器是没有意义的。如果您在证书管理器应用程序中执行此操作,那么这些选项可能会亮起,允许您从证书存储导出到文件。
    猜你喜欢
    • 2012-04-15
    • 2010-10-22
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 2019-12-21
    • 2016-12-14
    相关资源
    最近更新 更多