安全套接字层 (SSL) 是一套提供身份验证、保密性和数据完整性的加密技术。SSL 最常用来在 Web 浏览器和 Web 服务器之间建立安全通信通道。它也可以在客户端应用程序和 Web 服务之间使用。
为支持 SSL 通信,必须为 Web 服务器配置 SSL 证书。本章介绍如何获取 SSL 证书,以及如何配置 Microsoft® Internet 信息服务 (IIS),以便支持 Web 浏览器和其他客户端应用程序之间使用 SSL 安全地进行通信。
1. 目标
本章的目标是:
• | 获取 SSL 证书。 |
• | 在 IIS 服务器上安装 SSL 证书。 |
• | 配置虚拟目录以要求 SSL。 |
2. 适用范围
本章适用于以下产品和技术:
• | Microsoft Windows® XP 或 Windows 2000 Server (Service Pack 3)或Windows 2003 Server以及更高版本的操作系统 |
• | Microsoft Internet 信息服务 5.0/6.0 |
• | Microsoft 证书服务(如果您需要生成自己的证书) |
3. 如何使用本章内容
若要学好本章内容:
• | 您必须有配置 IIS 的经验。 |
• | 如果您想生成自己的证书,则必须能够访问某个证书颁发机构 (CA),如 Microsoft 证书服务。 |
• | 如果您不希望生成自己的证书,则必须决定将向哪个商业证书颁发机构申请 SSL 证书。大多数证书颁发机构 (CA) 会就此服务收费。 |
• | 阅读第 4 章安全通信。其中介绍了 SSL 及其最常见的用途。 |
4. 摘要
安全套接字层 (SSL) 是一套提供身份验证、保密性和数据完整性的加密技术。SSL 最常用来在 Web 浏览器和 Web 服务器之间建立安全通信通道。它也可以在客户端应用程序和 Web 服务之间使用。
为支持 SSL 通信,必须为 Web 服务器配置 SSL 证书。本章介绍如何获取 SSL 证书,以及如何配置 Microsoft® Internet 信息服务 (IIS),以便支持 Web 浏览器和其他客户端应用程序之间使用 SSL 安全地进行通信。
5. 生成证书申请
此过程创建一个新的证书申请,此申请可发送到证书颁发机构 (CA) 进行处理。如果成功,CA 将给您发回一个包含有效证书的文件。
• | 生成证书申请 1. | 启动 IIS Microsoft 管理控制台 (MMC) 管理单元。 | 2. | 展开 Web 服务器名,选择要安装证书的 Web 站点。 | 3. | 右键单击该 Web 站点,然后单击“属性”。 | 4. | 单击“目录安全性”选项卡。 | 5. | 单击“安全通信”中的“服务器证书”按钮,启动 Web 服务器证书向导。 注意:如果“服务器证书”不可用,可能是因为您选择了虚拟目录、目录或文件。返回第 2 步,选择 Web 站点。 | 6. | 单击“下一步”跳过欢迎对话框。 | 7. | 单击“创建一个新证书”,然后单击“下一步”。 | 8. | 该对话框有以下两个选项: • | “现在准备申请,但稍后发送” 该选项总是可用的。 | • | “立即将申请发送到在线证书颁发机构” 仅当 Web 服务器可以在配置为颁发 Web 服务器证书的 Windows 2000 域中访问一个或多个 Microsoft 证书服务器时,该选项才可用。在后面的申请过程中,您有机会从列表中选择将申请发送到的颁发机构。 | 单击“现在准备申请,但稍后发送”,然后单击“下一步”。 | 9. | 在“名称”字段中键入证书的描述性名称,在“位长”字段中键入密钥的位长,然后单击“下一步”。 向导使用当前 Web 站点名称作为默认名称。它不在证书中使用,但作为友好名称以助于管理员识别。 | 10. | 在“组织”字段中键入组织名称(例如 Contoso),在“组织单位”字段中键入组织单位(例如“销售部”),然后单击“下一步”。 注意:这些信息将放在证书申请中,因此应确保它的正确性。CA 将验证这些信息并将其放在证书中。浏览您的 Web 站点的用户需要查看这些信息,以便决定他们是否接受证书。 | 11. | 在“公用名”字段中,键入您的站点的公用名,然后单击“下一步”。 重要说明:公用名是证书最后的最重要信息之一。它是 Web 站点的 DNS 名称(即用户在浏览您的站点时键入的名称)。如果证书名称与站点名称不匹配,当用户浏览到您的站点时,将报告证书问题。 如果您的站点在 Web 上并且被命名为 www.contoso.com,这就是您应当指定的公用名。 如果您的站点是内部站点,并且用户是通过计算机名称浏览的,请输入计算机的 NetBIOS 或 DNS 名称。 | 12. | 在“国家/地区”、“州/省”和“城市/县市”等字段中输入正确的信息,然后单击“下一步”。 | 13. | 输入证书申请的文件名。 该文件包含类似下面这样的信息。 -----BEGIN NEW CERTIFICATE REQUEST-----
MIIDZjCCAs8CAQAwgYoxNjA0BgNVBAMTLW1penJvY2tsYXB0b3Aubm9ydGhhbWVy...
-----END NEW CERTIFICATE REQUEST-----
这是您的证书申请的 Base 64 编码表示形式。申请中包含输入到向导中的信息,还包括您的公钥和用您的私钥签名的信息。
将此申请文件发送到 CA。然后 CA 会使用证书申请中的公钥信息验证用您的私钥签名的信息。CA 也验证申请中提供的信息。
当您将申请提交到 CA 后,CA 将在一个文件中发回证书。然后您应当重新启动 Web 服务器证书向导。
|
14.
|
单击“下一步”。该向导显示证书申请中包含的信息概要。
|
15.
|
单击“下一步”,然后单击“完成”完成申请过程。
证书申请现在可以发送到 CA 进行验证和处理。当您从 CA 收到证书响应以后,可以再次使用 IIS 证书向导,在 Web 服务器上继续安装证书。
|
|
6. 提交证书申请
此过程使用 Microsoft 证书服务提交在前面的过程中生成的证书申请。
•
|
提交证书申请
1.
|
使用“记事本”打开在前面的过程中生成的证书文件,将它的整个内容复制到剪贴板。
|
2.
|
启动 Internet Explorer,导航到 http://hostname/CertSrv,其中 hostname 是运行 Microsoft 证书服务的计算机的名称。
|
3.
|
单击“申请一个证书”,然后单击“下一步”。
|
4.
|
在“选择申请类型”页中,单击“高级申请”,然后单击“下一步”。
|
5.
|
在“高级证书申请”页中,单击“使用 Base64 编码的 PKCS#10 文件提交证书申请”,然后单击“下一步”。
|
6.
|
在“提交一个保存的申请”页中,单击“Base64 编码的证书申请(PKCS #10 或 #7)”文本框,按住 CTRL+V,粘贴先前复制到剪贴板上的证书申请。
|
7.
|
在“证书模板”组合框中,单击“Web 服务器”。
|
8.
|
单击“提交”。
|
9.
|
关闭 Internet Explorer。
|
|
7. 颁发证书
•
|
颁发证书
1.
|
从“管理工具”程序组中启动“证书颁发机构”工具。
|
2.
|
展开您的证书颁发机构,然后选择“挂起的申请”文件夹。
|
3.
|
选择刚才提交的证书申请。
|
4.
|
在“操作”菜单中,指向“所有任务”,然后单击“颁发”。
|
5.
|
确认该证书显示在“颁发的证书”文件夹中,然后双击查看它。
|
6.
|
在“详细信息”选项卡中,单击“复制到文件”,将证书保存为 Base-64 编码的 X.509 证书。
|
7.
|
关闭证书的属性窗口。
|
8.
|
关闭“证书颁发机构”工具。
|
|
8. 在 Web 服务器上安装证书
此过程在 Web 服务器上安装在前面的过程中颁发的证书。
•
|
在 Web 服务器上安装证书
1.
|
如果 Internet 信息服务尚未运行,则启动它。
|
2.
|
展开您的服务器名称,选择要安装证书的 Web 站点。
|
3.
|
右键单击该 Web 站点,然后单击“属性”。
|
4.
|
单击“目录安全性”选项卡。
|
5.
|
单击“服务器证书”启动 Web 服务器证书向导。
|
6.
|
单击“处理挂起的申请并安装证书”,然后单击“下一步”。
|
7.
|
输入包含 CA 响应的文件的路径和文件名,然后单击“下一步”。
|
8.
|
检查证书概述,单击“下一步”,然后单击“完成”。
现在,已在 Web 服务器上安装了证书。
|
|
9. 将资源配置为要求 SSL 访问
此过程使用 Internet 服务管理器,将虚拟目录配置为要求 SSL 访问。您可以为特定的文件、目录或虚拟目录要求使用 SSL。客户端必须使用 HTTPS 协议访问所有这类资源。
•
|
将资源配置为要求 SSL 访问
1.
|
如果 Internet 信息服务尚未运行,则启动它。
|
2.
|
展开您的服务器名称和 Web 站点。(这必须是已安装证书的 Web 站点)
|
3.
|
右键单击某个虚拟目录,然后单击“属性”。
|
4.
|
单击“目录安全性”选项卡。
|
5.
|
单击“安全通信”下的“编辑”。
|
6.
|
单击“要求安全通道 (SSL)”。
现在客户端必须使用 HTTPS 浏览到此虚拟目录。
|
7.
|
单击“确定”,然后再次单击“确定”关闭“属性”对话框。
|
8.
|
关闭 Internet 信息服务
|
|
Technorati 标签:
SSL,
Windows证书,
IIS