小弟我的ssl测试看上去好像有点对了,
(注小弟设置了DNS域名解析,192.168.0.100 IP绑定自定的两个域名,www.mydotnet.com 及www.zhang.com)
--------------------以下为激活SSL及获取安装服务端证书------------
在服务器上启用 SSL
本节介绍如何创建证书请求、从 Verisign 站点获得试用版的测试服务器端证书,并将其安装在 Web 服务器上。
使用 IIS 4.0 启用服务器上的 SSL
用鼠标右键单击要启用 SSL 的网站,并选择“属性”。
在“目录安全性”选项卡上,单击“编辑安全通信”。
在对话框中,单击“密钥管理器”。
展开树状视图中的“本地计算机”节点。用鼠标右键单击 WWW 叶,并选择“新建密钥”。这将启动称为“密钥管理器”的密钥请求向导。
选择“将请求放入要发送到颁发机构的文件中”和一个文件名。单击“下一步”。
输入一个易记的密钥名称。输入密码,当获取由颁发机构颁发的证书时需要此密码。对于加密密钥字节长度,请选择 1024(1024 为推荐长度,某些颁发机构不颁发小于此长度的证书)。单击“下一步”。
输入您的组织和部门名称。输入等同于完整站点名称的公用名称,例如 www.yoursite.com。在启动 SSL 连接之前,客户端将检查站点名称是否与证书的公用名称相同。单击“下一步”。
输入国家(地区)、省/自治区、市/县所在地。证书颁发机构可能检查这些信息是否一致,以确保输入的信息有效。输入省时,请输入完整的省名称。
输入管理服务器的人员的姓名、电子邮件地址和电话号码。这些信息不包含在证书中,但证书颁发机构需要这些信息。
包含您的请求的文件已经创建。该文件为 Base64 编码格式。在此过程中,IIS 还将为该证书请求创建一个私有密钥和一个公用密钥。私有密钥将保存在您的计算机上,而公用密钥将随请求一起发往 Verisign,并用以加密证书数据。
转至 www.verisign.com(英文),并单击“Get Trial SSL ID”。注册证书时,会要求您提供 CSR(证书签名请求)。复制并粘贴您的请求文件中自行“BEGIN NEW CERTIFICATE REQUEST;”之后的内容,否则,将会出错。Verisign 以邮件形式将测试服务器端证书发送给您。该过程同样适用于商业证书,不同之处在于它收费并仔细验证提交的信息。
确保从证书颁发机构获得的证书是 Base64 编码的。如果证书颁发机构是 Verisign,则您可以通过电子邮件获得证书。创建一个扩展名为 .cer 的空文件,复制行“BEGIN CERTIFICATE”和“END CERTIFICATE”之间(包含这两行)的所有内容并粘贴到该文件。
转至要启用 SSL 的站点的“属性”/“目录安全性”选项卡。单击“编辑安全通信”,然后单击“密钥管理器”。
在对话框中,展开树状视图中的“本地计算机”节点,再展开 WWW 叶,将显示您的证书请求的密钥。由于该证书尚未安装,它标记为红色。用鼠标右键单击该证书,并选择“安装密钥证书”。选择具有要安装的证书的文件。将提示您提供以前设置的密码。输入密码。现在,您的证书已安装。
使用 IIS 5.0 启用服务器上的 SSL
用鼠标右键单击要启用 SSL 的网站,并选择“属性”。
在“目录安全性”选项卡上,单击“编辑安全通信”。
单击“服务器证书”打开服务器证书向导。该向导将记忆网站的当前状态,例如您是否已拥有服务器证书。(现在假设您没有证书。)
在证书向导中,单击“下一步”,选择“创建一个新证书”,然后单击“下一步”。
选择“现在准备请求,但稍后发送”,并单击“下一步”。
输入证书的友好名称。该名称不会在证书结构中使用,但作为区分请求和证书的一种方法。选择公用密钥长度。推荐密钥长度不小于 1024 字节。单击“下一步”。*(注意:一定要选密钥长度为1024)
输入可以由颁发机构验证的组织名称和部门名称,如果您请求用于商业目的的真实证书,请输入有效名称。输入要被认证的计算机的名称。注意:它必须等同于您的完整站点名称,例如 www.yoursite.com。单击“下一步”。
输入国家(地区)、省/自治区、市/县所在地。请输入有效信息,证书颁发机构将检查这些信息是否一致。输入省时,请输入完整的省名称。单击“下一步”。*(注意:省/自治区、市/县所在地,输入英文不能含有特殊字符。)
输入用于保存请求的请求文件名称。单击“下一步”。
将摘要显示您输入的内容。确认内容正确,并单击“下一步”完成向导。包含请求的文件将以 Base 64 格式保存。
包含您的请求的文件已经创建。该文件为 Base64 编码格式。在此过程中,IIS 还将为该证书请求创建一个私有密钥和一个公用密钥。私有密钥将保存在您的计算机上,而公用密钥将随请求一起发往 Verisign,并用以加密证书数据。
转至 www.verisign.com(英文),并单击“Get Trial SSL ID”。注册证书时,会要求您提供 CSR(证书签名请求)。复制并粘贴您的请求文件中自行“BEGIN NEW CERTIFICATE REQUEST;”之后的内容,否则,将会出错。Verisign 以邮件形式将测试服务器端证书发送给您。该过程同样适用于商业证书,不同之处在于它收费并仔细验证提交的信息。 *(如果申请成功,会在一小时之内获得这封信。)
确保从证书颁发机构获得的证书是 Base64 编码的。如果证书颁发机构是 Verisign,则您可以通过电子邮件获得证书。创建一个扩展名为 .cer 的空文件,复制行“BEGIN CERTIFICATE”和“END CERTIFICATE”之间(包含这两行)的所有内容并粘贴到该文件。
转至要启用 SSL 的站点的“属性”/“目录安全性”选项卡。单击“编辑安全通信”,然后单击“服务器证书”。服务器证书向导知道您刚刚提出证书请求,所以期望您已颁发证书并准备好在 IIS 5.0 中安装。
选择“处理挂起申请并安装证书”,并单击“下一步”。选择从证书颁发机构获得的证书的文件名。单击“下一步”。查看证书概述,并单击“下一步”。单击“完成”。您的 Web 服务器证书已安装在 IIS 5.0 中。
为 SSL 连接配置客户端
仅仅具有配置正确的服务器并不足以启用成功的 SSL 连接。请记住,SSL 连接始终包含身份验证,其中客户端验证服务器的身份。特别是客户端将验证服务器是否具有有效证书,例如证书是否过期、是否被注销、是否由客户端信任的证书颁发机构颁发等。在上述详细步骤中,将收到一个由 Verisign 测试根颁发机构颁发的试用版 Verisign 服务器端证书。默认情况下,该颁发机构并不被信任,例如,其证书不默认存储在您计算机上的根存储区。按照 Verisign 站点中的关于如何获得 Verisign 测试颁发机构根目录证书的指导进行操作。获得包含 Verisign 测试颁发机构根目录证书的文件之后,需要将其安装在客户端(您要用这些客户端执行至服务器的 SSL 连接)上,以在对服务器进行身份验证时信任服务器端证书。请执行以下步骤:
*(注意:在申请完成时会出现一个页面要求您下载这一服务器端证书,文件名为getcacert.cer)
双击包含证书的文件,打开证书浏览器窗口。
单击“安装证书”。在证书导入向导欢迎页上,单击“下一步”。
选择要保存该证书的存储区。
默认情况下,Windows 将该证书放置到 CURRENT_USER\Root\存储区中。这意味着只以您的帐户使用计算机时,才能够信任由该颁发机构颁发的证书。若要确保对其它用户也有效,推荐始终将根 CA 证书放置到 LOCAL_MACHINE\Root 存储区。这需要执行以下操作:
选择“将所有证书放置到以下存储区”,并单击“浏览”。
选择“显示物理存储区”,展开“受信任的根目录证书颁发机构”节点,选择“本地计算机”,然后选择“LOCAL_MACHINE\Root”节点。
完成该向导安装 CA 根目录证书。
-----------以下是服务器启用SSL--------------------
在 IIS 4.0 上
用鼠标右键单击 IIS 管理器中的虚拟目录,并选择“属性”。
在“目录安全性”选项卡上,单击“编辑安全通信”。
启用“访问本资源时要求安全通道”。
在 IIS 5.0 上
用鼠标右键单击 IIS 管理器中的虚拟目录,并选择“属性”。
在“目录安全性”选项卡上,单击“编辑安全通信”。
启用“要求 SSL”。
现在,如果试图建立与该服务的非安全 HTTP 连接,将会出错。
SSL 中的服务器身份验证
常见错误是在 SSL 连接中使用 localhost 或服务器主机名的其它别名。在
SSL 握手期间,客户端验证服务器证书主题名称的公用名称 (CN) 部分与 HTTP
请求中的主机名是否匹配。如果不匹配,SSL 连接将失败。客户端还同时验证服
务器端证书是否有效、是否撤消以及是否由信任的 CA 颁发。
客户端证书身份验证
除了必要的服务器身份验证,SSL 还有一个可选步骤:对客户端进行身份验
证。这是使用客户端证书进行的。客户端证书与服务器证书相似。如果服务器配
置为要求客户端证书,客户端会将客户端证书发送到服务器。服务器至少要检查
它是否信任此客户端证书,例如,它是否由信任的证书颁发机构颁发。
在服务器上配置客户端证书身份验证
IIS 4.0 和 IIS 5.0 都可以配置为:
忽略客户端证书。这种情况下,客户端证书身份验证将关闭。
接受但不要求客户端证书。这种情况下,如果提供了客户端证书,将对客户
端进行身份验证。这时,所谓的身份验证仅是检查客户端证书是否有效、可信。
要求客户端证书。如果没有提供客户端证书,连接将被拒绝。将如前一选项
那样对提供的客户端证书进行检查。
要求客户端证书,并将其映射到指定的用户帐户。这种身份验证方式与要求
客户端证书相同,但 IIS 工作线程还模拟指定用户的凭据。
*(注意:使用由 CA 而不是默认信任的颁发机构(例如 Verisign 或 Thawte
)颁发的客户端证书时,需要确保该 CA 根目录证书存储在服务器上的
LOCAL_MACHINE\Root\ 存储区中,而不是存储在 CURRENT_USER\Root\ 存储区中
。默认情况下,向导将 CA 的证书放置在 CURRENT_USER\Root\ 中,这使该证书
对 IIS 不可见,因为它使用不同的用户帐户。)
如何配置 IIS 使用上述客户端证书选项之一?请按照上述步骤执行,但第
三步要执行以下操作(IIS 4.0 和 IIS 5.0 中的对话框相似):
若要忽略客户端证书,请在 IIS 5.0 上选择“忽略客户端证书”或在 IIS
4.0 上选择“不接受客户端证书”;
若要接受但不要求客户端证书,请选择“接受客户端证书”;
若要要求客户端证书,请选择“要求客户端证书”;
若要要求客户端证书与指定的用户帐户匹配,请选择“要求客户端证书”以
及“启用客户端证书映射”。此时,您需要具有一个文件,该文件包含要映射的
导出客户端证书。要获得该文件,请在客户端证书所在的客户端计算机上,执行
以下操作:
-------------------以下是客户端证书安装部份-------------
以上的设置基本同第一步中在客户端安装服务器证书。
在客户端使用 SSL 客户端证书
本节介绍为了与服务交流而需要提供客户端证书时,如何在客户端上进行操
作。如何获取和安装客户端证书?可以从 Verisign 或任何其它 CA 获取客户端
证书(Web 标识)。
*(注意:在Verisign申请完服务器端证书后有一界面让您选择下载客户端证书。)
注意:服务器证书和客户端证书的用途不同。不能将服务器端证书用作客户
端证书。
获得包含证书的文件(.cer 文件)之后,双击该文件即可进行安装。按照
前述安装 Verisign 测试 CA 根目录证书的步骤进行操作。将要求您指定存放证
书的存储区。客户端证书的默认(推荐)存储区是 CURRENT_USER\MY\。
注意:准备客户端证书的请求时,通常会询问您是否使用 CURRENT_USER 或
LOCAL_MACHINE 存储区来存储证书。
如果希望只能从创建请求时所使用的帐户访问证书,则使用 CURRENT_USER
存储区。
如果希望几个特权用户可以共享访问此证书,则使用 LOCAL_MACHINE 存储
区。只有本地管理帐户具有 LOCAL_MACHINE 存储区的访问权限。例如,如果在
具有客户端证书身份验证的 SSL 之上使用 SOAP 进行远程配置,并且希望从任
何本地管理员帐户都可以使用客户端脚本,可能要使用该存储区。
(以上内容转载由http://www.yesky.com/20010924/198513_2.shtml)
-----------------以下是小弟的一些不明之处--------------------
如上设置完后可以实现ssl加密。
但是小弟还有一些不明白的地方望各位指点:
1、ssl防护申请可不可以在本机完成,如何使本机成为服务端证书的颁发机构,颁发证书。(小弟是局域网想实现这一功能,不能总是用Verisign的14天试用版呀。)
2、客户端证书可否在客户端访问网页时自动生成,并下载安装。
3、如何设置只允许拥有客户端证书的客户访问,我在IIS中设置了但是不知如
何设置客户端。
……