将p7b转换为pfx for Azure

dtu*_*914 27 cloud ssl http certificate azure

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

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

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

Bob*_*lth 61

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

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

创建CSR(证书签名请求)

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

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

您可以使用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上的某个地方(我假设在个人密钥库中).

要创建CSR - 您还可以参考godaddy站点的详细步骤.非常有帮助.

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

将证书文件安装到IIS中

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

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

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

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

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

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

要将证书安装到IIS中,来自godaddy站点帮助的这些详细步骤可能会有所帮助.

获取pfx文件

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

现在,您可以访问https://manage.windowsazure.com(Windows Azure管理门户),选择您的网站或云服务,并将pfx文件上载到Azure证书存储区.

呼.祝好运...

编辑

以上说明仅涉及在Azure Web角色中安装SSL证书,而不是中间证书(即"证书链").这适用于大多数客户端(浏览器),因为大多数浏览器都具有烘焙到其中的主要CA的中间证书.换句话说,浏览器知道如何从SSL证书到发布它的CA.但是一些客户要求网站本身不仅发布SSL证书,还发布所有中间证书.

有关如何执行此操作的详细信息,请参阅此SO答案.

  • 非常好的描述.需要提及的一件事是你必须在与"创建请求"相同的机器上执行"完成请求".如果您在另一台机器上执行此操作 - 则没有"导出"选项. (2认同)