用IIS来启用SSL
安全套接字层 (SSL) 是一套提供身份验证、保密性和数据完整性的加密技术。SSL 最常用来在 Web 浏览器和 Web 服务器之间建立安全通信通道。它也可以在客户端应用程序和 Web 服务之间使用。为支持 SSL 通信,必须为 Web 服务器配置 SSL 证书。本文介绍如何获取 SSL 证书,以及如何配置 Microsoft® Internet 信息服务 (IIS),以便支持 Web 浏览器和其他客户端应用程序之间使用 SSL 安全地进行通信。
一般情况下按照下文中SOP去做是不会有问题的,但是我碰到一个怪问题,安装CA后并没有在IIS中产生对应提交证书事情用的虚拟目录,网上搜了好久也没有找到原因,以为是添加CA组件有问题。这时候想起MCSE等证书也许可以帮到的哦,可惜我没有去学。
可能碰到的问题:没有CA认证服务 CA认证服务是Windows的一项服务,在Windows组件安装就好了。 安装了CA后 在IE中访问http://hostname/CertSrv提交证书请求时找不到网页 不要紧在windows系统路径查找certSrv文件夹,把那个文件夹加到IIS虚拟目录(IIS都没有?那搞什么SSL啊,先安装一个吧),再访问就可以按照下文操作了。注意ssl与不用ssl端口不一样,协议名字也不一样哦 ssl的要用https而不是http访问。如果不是受信的CA client端会发出警告,但是还是可以work的,在Windows domain环境下可以用domain信任的方式建CA而不用花钱到外部CA中心申请数字认证,如果只是内部用的话,比如内部mail,web,签核流程等等。
生成证书申请此过程创建一个新的证书申请,此申请可发送到证书颁发机构 (CA) 进行处理。如果成功,CA 将给您发回一个包含有效证书的文件。
1. 生成证书申请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.51ini.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 服务器上继续安装证书。提交证书申请此过程使用 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。
颁发证书• 颁发证书
1. 从“管理工具”程序组中启动“证书颁发机构”工具。
2. 展开您的证书颁发机构,然后选择“挂起的申请”文件夹。
3. 选择刚才提交的证书申请。
4. .在“操作”菜单中,指向“所有任务”,然后单击“颁发”。
5. 确认该证书显示在“颁发的证书”文件夹中,然后双击查看它。
6. 在“详细信息”选项卡中,单击“复制到文件”,将证书保存为 Base-64 编码的 X.509 证书。
7. 关闭证书的属性窗口。
8. 关闭“证书颁发机构”工具。在 Web 服务器上安装证书此过程在 Web 服务器上安装在前面的过程中颁发的证书。
在 Web 服务器上安装证书
1. 如果 Internet 信息服务尚未运行,则启动它。
2. 展开您的服务器名称,选择要安装证书的 Web 站点。
3. 右键单击该 Web 站点,然后单击“属性”。
4. 单击“目录安全性”选项卡。
5. 单击“服务器证书”启动 Web 服务器证书向导。
6. 单击“处理挂起的申请并安装证书”,然后单击“下一步”。
7. 输入包含 CA 响应的文件的路径和文件名,然后单击“下一步”。
8. 检查证书概述,单击“下一步”,然后单击“完成”。
现在,已在 Web 服务器上安装了证书。将资源配置为要求 SSL 访问此过程使用 Internet 服务管理器,将虚拟目录配置为要求 SSL 访问。您可以为特定的文件、目录或虚拟目录要求使用 SSL。客户端必须使用 HTTPS 协议访问所有这类资源。
将资源配置为要求 SSL 访问
1. 如果 Internet 信息服务尚未运行,则启动它。
2. 展开您的服务器名称和 Web 站点。(这必须是已安装证书的 Web 站点)
3. 右键单击某个虚拟目录,然后单击“属性”。
4. 单击“目录安全性”选项卡。
5. 单击“安全通信”下的“编辑”。
6. 单击“要求安全通道 (SSL)”。现在客户端必须使用 HTTPS 浏览到此虚拟目录。
7. 单击“确定”,然后再次单击“确定”关闭“属性”对话框。
8. 关闭 Internet 信息服务。
一般情况下按照下文中SOP去做是不会有问题的,但是我碰到一个怪问题,安装CA后并没有在IIS中产生对应提交证书事情用的虚拟目录,网上搜了好久也没有找到原因,以为是添加CA组件有问题。这时候想起MCSE等证书也许可以帮到的哦,可惜我没有去学。
可能碰到的问题:没有CA认证服务 CA认证服务是Windows的一项服务,在Windows组件安装就好了。 安装了CA后 在IE中访问http://hostname/CertSrv提交证书请求时找不到网页 不要紧在windows系统路径查找certSrv文件夹,把那个文件夹加到IIS虚拟目录(IIS都没有?那搞什么SSL啊,先安装一个吧),再访问就可以按照下文操作了。注意ssl与不用ssl端口不一样,协议名字也不一样哦 ssl的要用https而不是http访问。如果不是受信的CA client端会发出警告,但是还是可以work的,在Windows domain环境下可以用domain信任的方式建CA而不用花钱到外部CA中心申请数字认证,如果只是内部用的话,比如内部mail,web,签核流程等等。
生成证书申请此过程创建一个新的证书申请,此申请可发送到证书颁发机构 (CA) 进行处理。如果成功,CA 将给您发回一个包含有效证书的文件。
1. 生成证书申请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.51ini.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 服务器上继续安装证书。提交证书申请此过程使用 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。
颁发证书• 颁发证书
1. 从“管理工具”程序组中启动“证书颁发机构”工具。
2. 展开您的证书颁发机构,然后选择“挂起的申请”文件夹。
3. 选择刚才提交的证书申请。
4. .在“操作”菜单中,指向“所有任务”,然后单击“颁发”。
5. 确认该证书显示在“颁发的证书”文件夹中,然后双击查看它。
6. 在“详细信息”选项卡中,单击“复制到文件”,将证书保存为 Base-64 编码的 X.509 证书。
7. 关闭证书的属性窗口。
8. 关闭“证书颁发机构”工具。在 Web 服务器上安装证书此过程在 Web 服务器上安装在前面的过程中颁发的证书。
在 Web 服务器上安装证书
1. 如果 Internet 信息服务尚未运行,则启动它。
2. 展开您的服务器名称,选择要安装证书的 Web 站点。
3. 右键单击该 Web 站点,然后单击“属性”。
4. 单击“目录安全性”选项卡。
5. 单击“服务器证书”启动 Web 服务器证书向导。
6. 单击“处理挂起的申请并安装证书”,然后单击“下一步”。
7. 输入包含 CA 响应的文件的路径和文件名,然后单击“下一步”。
8. 检查证书概述,单击“下一步”,然后单击“完成”。
现在,已在 Web 服务器上安装了证书。将资源配置为要求 SSL 访问此过程使用 Internet 服务管理器,将虚拟目录配置为要求 SSL 访问。您可以为特定的文件、目录或虚拟目录要求使用 SSL。客户端必须使用 HTTPS 协议访问所有这类资源。
将资源配置为要求 SSL 访问
1. 如果 Internet 信息服务尚未运行,则启动它。
2. 展开您的服务器名称和 Web 站点。(这必须是已安装证书的 Web 站点)
3. 右键单击某个虚拟目录,然后单击“属性”。
4. 单击“目录安全性”选项卡。
5. 单击“安全通信”下的“编辑”。
6. 单击“要求安全通道 (SSL)”。现在客户端必须使用 HTTPS 浏览到此虚拟目录。
7. 单击“确定”,然后再次单击“确定”关闭“属性”对话框。
8. 关闭 Internet 信息服务。