http - 将 p7b 转换为 Azure 的 pfx

标签 http ssl azure certificate cloud

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

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

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

最佳答案

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

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

创建 CSR(证书签名请求)

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

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

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

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

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

  • 要创建 CSR - 您还可以引用 godaddy site 中的详细步骤.很有帮助。

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

    将证书文件安装到 IIS

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

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

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

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

    返回到创建 CSR 的同一台计算机上的 IIS 管理器,导航回服务器证书页面,然后单击完成证书请求(在屏幕右侧的操作 Pane 中)。
  • 告诉向导使用您从 CA 收到的证书文件(在我的例子中它是一个 crt 文件,但如果您的 CA 使用不同的编码方法,它可能是不同的文件类型)。
  • 友好名称可能应该是您的域名,但您也可以添加“SSL”以帮助区分它(例如 ContosoSSL)
  • 告诉向导将 key 存储在您的个人存储中

  • 要将证书安装到 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/

    相关文章:

    http - Chrome 不加载页面,safari 可以

    windows - msmdpump 到 SSAS

    php - Laravel 5 Socialite - cURL 错误 77 : error setting certificate verify locations

    python - 从源代码构建 Python 和 OpenSSL,但 ssl 模块失败

    c# - 将项目添加到 Azure 简易表时,未将 UWP 对象引用设置为对象的实例

    azure - 通过 ARM 模板访问控制配置逻辑应用程序

    java - Struts 2,JasperReports 插件 : How to set file name for generated report

    php - 如果代理的 IP 被阻止,正确的 HTTP 状态代码是什么?

    tomcat - 无法使用 tomcat 服务器安装 IBM SSL 证书

    Azure 磁盘管理