编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写。
近年来,随着网络犯罪的上升,使用 SSL 保护网站逐渐成为一项备受追捧的功能,Windows Azure 网站也支持此功能。要使用此功能,您需要将证书上传到 Azure,然后将其分配到您的网站。获取证书可能并不容易,因为此过程涉及多个步骤。在本指南中,我们将介绍获取证书的以下方法:
1. 使用 DigiCert 证书实用程序
2. 使用 CertReq
3. 使用 IIS
背景
生成证书的过程由两部分组成。首先,用户创建一个包含请求详细信息的文本文件,即证书签名请求。用户将此文件提交到所选的证书提供商,以获取一个证书响应文件,然后用户可以将此证书响应文件安装在服务器上以完成此过程并获取完整证书。要将此证书用于 Windows Azure 网站,还需完成第 3 部分,即将证书导出为可以上传至 Azure 帐户的 PFX 文件。
大部分服务器产品都具有某些用于生成 CSR 文件和处理证书响应文件的内置机制。例如,在 IIS 中,这是 Action 窗格上的一个按钮:
如果您是一名经验丰富的 IIS 管理员且具有一台可随意使用的服务器,则此过程极为简单直接。如果不是,本指南将提供其他两种执行此过程的方法。
注意:在以下所有过程中,必须在同一台计算机上执行所有的 3 个部分。这是因为 CSR 请求将生成仅此计算机知道的私有加密/解密密钥。如果您尝试在其他计算机上完成此过程,则证书响应将无法获得相匹配的密钥,因此会失败。 |
使用 DigiCert 证书实用程序创建 CSR
DigiCert 的证书实用程序是一款第三方工具,旨在通过提供简单的过程图形用户界面来简化生成 CSR 的过程。这是迄今为止执行此过程最简单的方法,但是 DigiCert 证书实用程序并非 Microsoft 工具,不受 Microsoft 支持。您可以从此处下载此工具。此工具可用于任何证书提供商。步骤如下:
· 运行此实用程序,然后单击右上角的 Create CSR。
· 键入网站的 URL 及其他详细信息。
· 选择 key length。请注意,Microsoft 建议的密钥长度为 2048 位
· 单击 Generate 并接收 CSR 代码:
· 使用产生的 CSR 代码购买证书。大部分提供商均要求将文本粘贴到其网页上,其他提供商则可能要求您将文本保存到某个文件然后上传到其网站。之后,它们将向您提供一个扩展名为 .CER 的文件。将此文件保存到执行 CSR 请求的计算机上。
· 要完成此过程,请单击 DigiCert 实用程序右上角的 Import,然后导航到从证书提供商接收的 .CER 文件。 ***
· 完成此过程后,您将在工具中看到新的证书。单击此证书,然后单击证书列表屏幕底部的 Export Certificate:
· 选择 Yes, export the private key,然后导出到可用于 Azure 网站的 PFX 文件。设置导出密码,稍后将文件上传到 Azure 时需使用此密码:
*** 某些证书提供商提供的证书格式可能与 DigiCert 实用程序不兼容。如果导入失败,您可以使用下述实用程序完成此过程,即按照下一节中的步骤 5 后执行此过程。
使用命令行工具 CertReq 创建 CSR
CertReq 是构建在任何现代版本的 Windows 操作系统中的工具。它旨在获取具有某些参数的简单文本文件,并生成可以发送到证书提供商的 CSR 文件。提供商返回 CER 文件后,您可以使用 CertReq 完成请求。届时,您可以使用 Windows Certificate Management 控制台将证书导出为 Windows Azure 网站可使用的 PFX 格式。以下是此过程的步骤:
· 为 CertReq 创建一个输入文件。这是包含您证书某些详细信息的简单文本文件。最重要的是,Subject Name 需与要使用证书的网站的 URL 相匹配。以下示例是一个标准请求,如果需要,您可以阅读 CertReq 文档并调整参数以满足您的需求。
将高亮部分替换为您的网站地址。例如,如果您的网站为 https://www.contoso.com,则该行应为:
Subject ="CN=www.contoso.com"
您也可以调整请求的其他属性,但这是高级任务。有关可以为 CertReq 配置的其他选项的详细信息,请访问此页面。
· 将该文件另存为文本文件到硬盘上,然后打开 CMD 窗口并导航到保存文件的位置。
· 键入命令 CertReq –new MyRequest.txt MyRequest.csr,其中 MyRequest.txt 是在上一步中保存的文件的名称,MyRequest.csr 是将要创建的目标文件名称:
· 使用产生的 MyRequest.csr 文件购买证书。大部分提供商要求您将文件上传到其服务器。某些提供商可能要求您将文件内容粘贴到其网页中(您可以使用记事本打开此文件)。之后,提供商将向您提供一个扩展名为 .CER 的文件。将此文件复制到执行 CSR 请求的计算机上。
· 在 CMD 窗口中,导航到存储 .CER 文件的位置,然后键入 CertReq –accept –user MyCertificate.cer。
· 按 Windows+R 键打开Run,键入 certmgr.msc,然后按 Enter 键以打开证书管理控制台
· 在证书管理器中,导航到 Personal/Certificates。您的新证书应该位于此处:
· 右键单击该证书,然后选择 All Tasks/Export
· 在向导中,选择 YES 导出私钥。在下一页 Personal Information Exchange – PKCS #12上,执行以下操作:
· 在下一页上,启用 password 选项,然后键入一个密码。稍后上传证书时需使用此密码。在下一页上,键入已导出文件的目标路径和名称:
· 这样就可以了,您拥有了可以上传到 Azure 帐户且可用于您的网站的新 PFX 文件。
使用 IIS 创建 CSR
如果您具有一台可随意使用的 IIS 服务器,您可以使用它来生成证书。如果没有,您可以在运行 Windows(服务器或客户端)的任意计算机上轻松安装证书。步骤如下:
· 在要执行此操作的计算机上安装 IIS。
· 打开 IIS 管理控制台
· 单击左侧的计算机名称,然后单击中间的 Server Certificate,再单击右侧 Action 窗格中的 Create Certificate Request:
· 在向导中,填写网站的目标 URL(去掉 HTTPS:// 前缀)及其他详细信息。请注意,Microsoft 建议的密钥长度为 2048 位:
· 完成向导并使用产生的 CSR 文件购买证书。大部分提供商要求您将文件上传到其服务器。某些提供商可能要求您将文件内容粘贴到其网页中(您可以使用记事本打开此文件)。之后,提供商将向您提供一个扩展名为 .CER 的文件。将此文件复制到执行 CSR 请求的计算机上。
· 在 IIS 控制台中,单击 Action 窗格中的 Complete Certificate Request。
· 按照上一节中的步骤 6 到 11 将证书导出到可用于 Azure 网站的 PFX 文件。
后续步骤
现在您已具有 PFX 文件形式的证书,您可以将其上传到您的 Azure 帐户,并将其用于网站和其他服务。有关此过程的更多信息,请访问此文章。在某些情况下,您的证书需求可能有所不同。例如,如果您要使用 SAN 证书或自签名证书,获取这些证书的过程将有所不同。可在此处阅读相关说明。
本文翻译自: