将 p7b 转换为 Azure 的 pfx

Posted

技术标签:

【中文标题】将 p7b 转换为 Azure 的 pfx【英文标题】:convert p7b to pfx for Azure 【发布时间】:2011-10-06 04:45:45 【问题描述】:

我正在尝试为 Azure 设置端点。

我得到了一个 .p7b 文件,但我需要一个带有 Azure 私钥的 .pfx 文件。

有没有办法将我的 .p7b 转换为 .pfx?

【问题讨论】:

您在之前的问题Azure https with pfx file. 中也提到了同样的问题。答案不会因为您以稍微不同的方式提出问题而改变。 【参考方案1】:

更简单的方法是转至https://decoder.link/converter

    上传您的 ssl 提供商发布的 .crt 上传您从 ssl 提供商处下载的私钥 .txt 文件 上传您的 ssl 提供商发布的 .ca-bundle 设置一个您能记住的密码 点击提交,当您收到“成功转换”消息时,点击下载。

现在您可以将 .pfx 文件上传到 Azure 或您的云托管。

【讨论】:

【参考方案2】:

好的,这里是整个 Azure SSL 证书复杂性的概要。我已经通过 GoDaddy 完成了这项工作(并且得到了他们一位知识渊博的技术支持人员的帮助)。另请注意,我在 Windows 8 Pro 上完成了此操作;您的体验可能会略有不同和/或您的里程可能会有所不同;-)

向 CA(证书颁发机构)付款以购买 SSL 证书。

创建 CSR(证书签名请求)

现在您需要创建一个 CSR ,这是您必须向 CA 提供的文本,以便他们创建您的证书。 CSR 包含几条信息:

    与证书关联的域的名称。 与证书关联的公钥。请注意,您提供给 CA 的 CSR 不包含关联的私钥。

您可以使用 IIS 管理器在 PC 上本地创建 CSR。注意:IIS 包含在 Windows 中,但默认情况下不安装。 [我将把安装 IIS 的细节留给学生练习。也许某个好心人会编辑此答案并填写这些详细信息。]

编辑:您可以将 RDP 导入 Azure 中的云服务(非常容易)并在该计算机上使用 IIS 创建 CSR 并完成签名,而不是在本地计算机上安装 IIS要求。如果您这样做,请务必一次完成整个过程。如果您生成 CSR,然后等待稍后完成请求,则云服务可能不在同一台计算机上,并且您在 IIS 中将没有“导出”选项。

创建 CSR:

    运行 IIS 管理器 选择(双击)服务器证书 在窗口右侧的“操作”窗格中,单击“创建证书请求”。 Common Name 是与证书关联的域名。其余字段用于标识您的公司。 IIS 管理器将询问加密服务提供程序和位长度。您必须选择至少 2048 的位长度。 IIS 管理器将创建一个公钥/私钥对。公钥包含在 IIS 管理器为您创建的 CSR 文本文件中。私钥隐藏在您 PC 上的某个地方(我假设在个人密钥存储中)。

要创建 CSR - 您也可以参考godaddy site 的详细步骤。很有帮助。

现在,返回您的 CA 网站并找到可让您创建所购买证书的在线工具。它希望您做的第一件事是粘贴(或上传)CSR 文本。在您跳过 CA 的圈套后,您将收到他们返回的一个或多个证书文件。

将证书文件安装到 IIS 中

GoDaddy 为您提供两个文件:一个 p7b 文件和一个 crt 文件。

crt 文件包含您的公共证书。但是您不能(还)将其上传到您的网络托管服务提供商,因为它不包含相关的私钥。网络主机需要私钥和公钥,因为它将代表您进行端到端加密。

p7b 文件 包含构成“证书链”的证书,允许您的证书被验证到您的 CA。换句话说,当有人访问您的网站并获得声称您的网站由 Acme.com 运行的证书时,此证书链可让该人的浏览器验证您的 CA 为您的身份提供担保。我们稍后会回到这个文件......

现在您需要将您的公共证书与您的私钥结合起来,并将结果存储在受密码保护的 pfk 文件中。

回到创建 CSR 的同一台计算机上的 IIS 管理器,导航回“服务器证书”页面,然后单击“完成证书请求”(在屏幕右侧的“操作”窗格中)。

    告诉向导使用您从 CA 收到的证书文件(在我的例子中,它是一个 crt 文件,但如果您的 CA 使用不同的编码方法,它可能是不同的文件类型)。 Friendly Name 应该是您的域名,但您也可以在其中添加“SSL”以帮助区分它(例如 ContosoSSL) 告诉向导将密钥存储在您的个人存储中

要将证书安装到 IIS 中,godaddy site help 中的这些详细步骤可能会有所帮助。

获取 pfx 文件

您现在应该会在 IIS 管理器的“服务器证书”页面上看到您的新证书。选择该证书并将其导出为 pfx 文件(通过屏幕右侧的“操作”窗格)。

现在您可以前往https://manage.windowsazure.com(Windows Azure 管理门户),选择您的网站或云服务,然后将 pfx 文件上传到 Azure 证书存储。

哇。祝你好运...

编辑

上述说明仅涉及在您的 Azure Web 角色中安装 SSL 证书,但不是中间证书(即“证书链”)。这适用于大多数客户端(浏览器),因为大多数浏览器都内置了主要 CA 的中间证书。换句话说,浏览器知道如何从您的 SSL 证书到颁发它的 CA。但是有些客户要求网站本身不仅要发布 SSL 证书,还要发布所有的中间证书。

有关如何执行此操作的详细信息,请参阅this SO answer。

【讨论】:

希望我以前读过这个。我经历了几乎相同的路径。一些details here 可能会对某人有所帮助。 在 IIS 管理器 7.5 中“3.告诉向导将密钥存储在您的个人存储中”没有按钮或文本字段。在“操作”窗格或上下文菜单中没有“将其导出为 pfx 文件”的按钮。有什么想法吗? 很好的描述。需要提及的一件事是,您必须在与“创建请求”相同的机器上执行“完成请求”。如果您在另一台机器上执行此操作 - 没有导出选项。 我现在可以通过互联网亲吻你。谢谢!谢谢你。很好的解释。 安装 IIS:搜索并打开“打开或关闭 Windows 功能”。选择“Internet 信息服务”并单击“确定”。如果它失败并出现诸如“0x800F0906”之类的错误,您可能需要在安装时暂时禁用您的防病毒软件。

以上是关于将 p7b 转换为 Azure 的 pfx的主要内容,如果未能解决你的问题,请参考以下文章

将.crt、.cer、.pfx、.p7b、.der的ssl证书转换成.pem格式

sh Goddady SSL / TSL证书(P7B + CRT)到Azure PFX证书

证书格式转换

证书问题:来自 P7B 和 CRT 的 KEY 或 PFX

HTTPS-p7b证书转换

如何将 pem 转换为 pfx 文件?