最新消息:点击查看大S的省钱秘笈

CA证书与Web服务器SSL安全通信的部署

网络相关 Slyar 269浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

CA证书与Web服务器SSL安全通信的部署

作者:北京师范大学珠海分校 - 信息技术学院 - 姜南

实验环境:Windows Server 2003 + Internet Explorer

数字证书

数字证书是用于在Internet上建立人们身份和电子资产的数据文件。它们保证了安全、加密的在线通信并常常被用于保护在线交易。

数字证书由被称为认证中心(CA)的可信赖的第三方来发放。CA认证证书持有者的身份并“签署”证书来证明证书不是伪造的或没有以任何方式篡改。

当一个证书由CA进行数字签署时,其持有者可以使用它作为证明自己身份的电子护照。它可以向Web站点、网络或要求安全访问的个人出示。

内嵌在证书中的身份信息包括持有者的姓名和电子邮件地址、发证CA的名称、序列号以及证书的有效或失效期。当一位用户的身份为CA所确认后,证书使用持有者的公共密钥来保护这一数据。

一台Web服务器用来向用户浏览器证实自己真实性的证书也可以使用公共密钥。当用户打算向Web服务器发送保密信息(如用于一次在线交易信用卡号)时,用户浏览器将索取服务器数字证书中的公共密钥来证实Web站点的身份。

公共密钥加密体制的作用

公共密钥是为数字证书提供基础的公共密钥加密体制中所使用的密钥对中的一半密钥。

公共密钥加密体制利用对应的公共密钥和私有密钥进行加密和解密。这些密钥有着某种数字值,加密算法使用这类数字值来加密信息,使信息只能为拥有相应解密密钥的用户所读懂。

使用数据证书的Web服务器可以利用私有密钥来解密在Internet上发送给它的保密信息。

Web服务器的证书由一个标识发证CA的自签署CA证书来确认有效。CA证书被预安装在大多数主要Web浏览器中,这些浏览器包括Microsoft Internet Explorer和Netscape Navigator。

CA证书告诉用户当Web服务器的证书出示给浏览器时他们是否可以信任Web服务器的证书。如果Web服务器证书的有效性得到证实的话,证书的公共密钥就被用来为使用安全套接层(SSL)技术的服务器加密信息。

SSL安全协议可以利用数字证书在寻求安全通信的双方之间建立安全的"管道"。多数主要Web浏览器和商用Web服务器中都使用SSL。

呼叫与握手

如果一位购物者打算与一个采用SSL加密的Web站点建立连接的话,他的浏览器向这Web服务器发出"客户机呼叫"信息,请求一次SSL加密会话。这Web服务器通过向购物者发送服务器的证书进行答复。

购物者的浏览器将验证服务器的证书是否有效,是否由一个可信赖的CA所签署。这一确认两个实体打算建立一次安全的SSL连接的过程被称为SSL"握手"。

为了启动这次握手,购物者的浏览器将生成一个用服务器公共密钥进行加密的特殊的一次性会话密钥,并向服务器发送这个加了密的会话密钥。服务器利用私有密钥解密收到的信息,恢复出会话密钥。

这种交换证实了Web站点的身份,保证了只有这个浏览器和这台Web服务器才拥有这个会话密钥。然后,Web服务器使用这个会话密钥向购物者发送加密的信息。

当浏览器在一般模式下时,浏览器右下角的一个钥匙或挂锁的图标看起来是断开或打开的。当建立了SSL连接,浏览器处于安全模式时,这把钥匙就变成完整的钥匙并且挂锁也锁上了。

安装证书(CA)服务组件

要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务

1、开始 - 控制面板 - 添加或删除程序 - 添加/删除Windows组件,按以下内容勾选并安装

安装过程需要提供Windows Server 2003安装光盘

2、配置CA的公用名称及有效期限

3、CA类型选择独立根CA,后面的步骤全部下一步即可

为网站创建证书请求文件

完成了证书服务的安装后,就可以为要使用SSL安全机制的网站创建请求证书文件

1、开始 - 控制面板 - 管理工具 - Internet 信息服务(IIS)管理器

展开服务器标签,展开网站标签,右键点击要使用SSL的网站,选择"属性"。这里使用"默认网站"

切换到"目录安全性"标签,点击"服务器证书"按钮

4、在"IIS证书向导"中选择"新建证书",下一步

5、选择"现在准备证书请求,但稍后发送",下一步

6、输入证书的名称及位长,下一步

7、设置证书的单位信息,下一步

8、设置证书的公用名称,下一步

9、设置证书的地理信息,下一步

10、指定证书请求文件的导出路径及文件名,下一步。请记好路径及文件名,等会要用

11、验证配置,完成证书请求文件的创建

申请服务器证书

完成证书申请文件的制作之后,需要把证书申请提交给证书服务器

打开IE浏览器,在地址栏中输入"http://localhost/certsrv/"打开证书服务Web管理。选择"申请一个证书"

2、选择"高级证书申请"

3、选择"使用base64编码的CMC或PKCS #10文件提高一个证书申请,或使用base64编码的PKCS#7文件续订证书申请"

4、打开刚刚创建的证书申请文件"c:\certreq.txt",将其中的内容复制到“保存的申请”输入框后点击“提交”按钮即可

5、证书挂起,等待管理员颁发证书。

颁发服务器证书

证书申请提交之后,我们就可以扮演管理员颁发证书给申请者了

1、开始 - 设置 - 控制面板 - 管理工具 - 证书颁发机构,打开证书颁发机构对话框

2、点击"挂起的申请",鼠标右键单击申请的证书 - 所有任务 - 颁发。然后就可以在"颁发的证书"栏内看到证书了

3、在"颁发的证书"内双击刚刚颁发的证书 - 详细信息,然后点击"复制到文件"按钮,弹出证书导出向导

4、连续点击"下一步",并在"要导出的文件"对话框中指定保存路径和文件名,最后点击"完成"。这里注意记一下证书保存的位置,等会要用到这个证书文件

安装服务器证书

接下来将已经制作完成的证书安装到Web服务器中

1、开始 - 控制面板 - 管理工具 - Internet 信息服务(IIS)管理器

2、展开服务器标签,展开网站标签,右键点击要使用SSL的网站,这里使用"默认网站"

3、切换到"目录安全性"标签,点击"服务器证书"按钮,弹出Web服务器证书向导

4、选择"处理挂起的请求并安装证书",下一步

5、选择在上一步导出的证书文件,如果上一步是默认配置,通常是*.cer文件,下一步

6、指定SSL端口,默认443,下一步

7、确认证书安装,没有问题的话就下一步完成Web服务器的证书安装

在IIS中设置网站要求使用SSL

服务器证书安装完成后,需要在网站上开启SSL

1、开始 - 控制面板 - 管理工具 - Internet 信息服务(IIS)管理器

2、展开服务器标签,展开网站标签,右键点击要使用SSL的网站,选择"属性"。这里使用"默认网站"

3、切换到"目录安全性"标签,点击"安全通信"下的"编辑"按钮

4、勾选"要求安全通道(SSL)"和"要求128位加密"。客户端证书选择"忽略客户端证书"

验证Web SSL通信

1、可以在Web主目录中放置一个HTML文件,随便命名,如slyar.html

2、打开IE浏览器,在地址栏中输入https://localhost/slyar.html ,当然你也可以在其他电脑的IE客户端上输入https://服务器IP地址或网站域名/slyar.htm来进行验证,客户端都是一样的

3、如果设置成功,客户端IE会弹出如下证书确认信息

4、点击"是"之后即可成功访问网站,同时在浏览器右下角看到锁头图标,实验成功完成

转载请注明:Slyar Home » CA证书与Web服务器SSL安全通信的部署

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 最好访问每一个web网站
    深秋的梧桐2年前 (2015-03-05)回复
  2. 您好,您这个方案是不是只能一个域名对应一个CA服务器。如果web服务器有多个网站,那用户申请的CA客户端证书就都能访问每一个web网站。请帮我解答这个疑惑吧,我的QQ:80643883.。感激不尽。
    罗密欧3年前 (2013-07-24)回复