将p7b转换为pfx for Azure

时间:2011-07-15 14:08:00

标签: http ssl azure certificate cloud

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

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

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

1 个答案:

答案 0 :(得分:59)

好的,这里是整个Azure SSL证书严重程度的简要说明。我已经使用GoDaddy完成了这项工作(以及来自其知识渊博的技术支持人员的一些帮助) 。另请注意,我已在Windows 8 Pro上完成此操作;您的体验可能略有不同和/或您的里程可能会有所不同; - )

付钱给CA(证书颁发机构)购买SSL证书。

创建CSR(证书签名请求)

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

  1. 与证书关联的域名。
  2. 与证书关联的公钥。请注意,您提供给CA的CSR不包含关联的私钥。
  3. 使用IIS管理器在PC上本地创建CSR。注意:IIS包含在Windows中,但默认情况下不会安装。 [我将留下安装IIS的详细信息作为学生的练习。也许某些人会编辑这个答案并填写这些细节。]

    编辑,而不是在本地计算机上安装IIS,您可以在Azure中使用RDP(非常容易),并使用该计算机上的IIS创建CSR并完成签名请求。如果您这样做,请务必一次完成整个过程。如果您生成CSR然后等待完成请求,直到某个时间之后,云服务可能不在同一台计算机上,您就不会拥有"导出" IIS中的选项。

    创建CSR:

    1. 运行IIS管理器
    2. 选择(双击)服务器证书
    3. 在窗口右侧的“操作”窗格中,单击“创建证书申请”。 Common Name是与证书关联的域名。其余的字段标识您的公司。
    4. IIS管理器将要求加密服务提供程序和位长。您必须至少选择至少2048的位长。
    5. IIS管理器将创建公钥/私钥对。公钥包含在IIS管理器为您创建的CSR文本文件中。私钥藏匿在PC上的某个地方(我假设在个人密钥库中)。
    6. 要创建CSR,您还可以参考godaddy site的详细步骤。很有帮助。

      现在,返回到您的CA网站,找到可以创建您购买的证书的在线工具。它要求您做的第一件事是粘贴(或上传)CSR文本。跳过CA的箍之后,您将收到一个或多个证书文件。

      将证书文件安装到IIS

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

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

      p7b文件包含构成"证书链的证书"这样可以将您的证书验证到您的CA.换句话说,当有人来到您的网站并获得声称您的网站由Acme.com运营的证书时,此证书链允许该人的浏览器验证您的CA是否为您的身份担保。我们稍后会回复此文件...

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

      在创建CSR的同一台计算机上返回IIS管理器,导航回Server Certificates页面,然后单击Complete Certificate Request(在屏幕右侧的Actions窗格中)。

      1. 告诉向导使用您从CA收到的证书文件(在我的情况下,它是一个crt文件,但如果您的CA使用不同的编码方法,它可能是不同的文件类型。)
      2. 友好名称应该是您的域名,但您也可以添加" SSL"以及帮助区分它(例如ContosoSSL)
      3. 告诉向导将密钥存储在个人存储中
      4. 要将证书安装到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