我正在尝试为 Azure 设置端点。
我得到了一个 .p7b 文件,但我需要一个带有 Azure 私钥的 .pfx 文件。
有没有办法将我的 .p7b 转换为 .pfx?
最佳答案
好的,以下是整个 Azure SSL 证书的概要。 我已经通过 GoDaddy 完成了这项工作(并且从他们一位知识渊博的技术支持人员那里得到了很多帮助)。另请注意,我已在 Windows 8 Pro 上完成此操作;您的体验可能略有不同和/或您的里程可能会有所不同 ;-)
向 CA(证书颁发机构)付款以购买 SSL 证书。
创建 CSR(证书签名请求)
现在您需要创建一个 CSR ,这是您必须提供给 CA 以便他们创建您的证书的文本。 CSR 包含几条信息:
您可以使用 IIS 管理器在您的 PC 上本地创建 CSR。注意:IIS 包含在 Windows 中,但默认情况下未安装。 [我将把安装 IIS 的细节留给学生作为练习。也许好心人会编辑此答案并填写这些详细信息。]
编辑:无需在本地计算机上安装 IIS,您可以 RDP 到 Azure 中的云服务(非常容易做到)并在该计算机上使用 IIS 创建 CSR 并完成签名请求。如果你这样做,一定要一次完成整个过程。如果您生成 CSR 然后等待稍后完成请求,则云服务可能不在同一台机器上,您将没有 IIS 中的“导出”选项。
要创建 CSR:
要创建 CSR - 您还可以引用 godaddy site 中的详细步骤.很有帮助。
现在,返回到您的 CA 网站并找到可让您创建您购买的证书的在线工具。它希望您做的第一件事是粘贴(或上传)CSR 文本。在您跳过 CA 的圈套之后,您将从他们那里收到一个或多个证书文件。
将证书文件安装到 IIS
GoDaddy 为您提供了两个文件:一个 p7b 文件和一个 crt 文件。
crt 文件 包含您的公共(public)证书。但是您不能(还)将其上传到您的网络托管服务提供商,因为它不包含关联的私钥。网络主机需要私钥和公钥,因为它将代表您进行端到端加密。
p7b 文件 包含构成“证书链”的证书,允许您的证书被验证到您的 CA。换句话说,当有人访问您的网站并获得声称您的网站由 Acme.com 运行的证书时,此证书链可让该人的浏览器验证您的 CA 对您的身份进行担保。我们稍后会回到这个文件......
现在您需要将您的公共(public)证书与您的私钥结合起来,并将结果存储在一个受密码保护的 pfk 文件中。
返回到创建 CSR 的同一台计算机上的 IIS 管理器,导航回服务器证书页面,然后单击完成证书请求(在屏幕右侧的操作 Pane 中)。
要将证书安装到 IIS,这些详细步骤来自 godaddy site help可能会有所帮助。
获取pfx文件
您现在应该会在 IIS 管理器的服务器证书页面上看到您的新证书。选择该证书并将其导出为 pfx 文件(通过屏幕右侧的操作 Pane )。
现在你可以去https://manage.windowsazure.com (Windows Azure 管理门户),选择您的网站或云服务,然后将 pfx 文件上传到 Azure 证书存储。
哇。祝你好运...
编辑
以上说明仅涉及在 Azure Web 角色中安装 SSL 证书,但 不是 中间证书(即“证书链”)。这适用于大多数客户端(浏览器),因为大多数浏览器都内置了主要 CA 的中间证书。换句话说,浏览器知道如何从您的 SSL 证书到颁发它的 CA。但是有些客户要求网站本身不仅要发布 SSL 证书,还要发布所有的中间证书。
见 this SO answer有关如何执行此操作的详细信息。
关于http - 将 p7b 转换为 Azure 的 pfx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708223/