搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

CA 配置(Certificate Server)

一,服务器上装有ca(certificate server)
 1,服务器上安装ca
 win2000中带有ca的安装程序。单击start,control pannel add/remove programs兵单击add/remove windows compenents。当windows component wizard出现时,选择证书服务(certificate services)。下一步中,安装需要指出服务器授权的类型,一般作为一个独立的web服务器,选择stand-alone root ca。然后,需要指定共享文件夹,这作为证书服务的配置数据存储位置,单击next,安装完毕。
 注意:自己建立ca 机构时,所给ca机构起的名是自己定义的,在客户端的ie中,在一开始并不属于客户端信任的根证书颁发机构,如果,客户端没有把该ca机构加为自己所信任的根证书颁发机构,那么在客户端访问该服务器上的网站时,会出现安全警告信息。
 2,建立并安装一个站点证书
 步骤如下:
a, 打开iis,选定要安装证书的站点,单击右键,选择弹出菜单中的properties,在弹出的对话框中,单击directory security属性页,单击server certificate按钮,出现iis certificate wizard对话框,这一步的操作,所完成的功能是生成一个向ca申请数字证书的密钥文件,文件以.txt的格式存于本机目录下。
b, 通过certificate server enrollment的页面访问注册控件和它的表格:
  在安装了certificate service的机器上可以从位于http://localhost/certsrv 的certificate server administration tools web页面可以访问该注册控件。选择request acertificate 选项,在下一页面中选择advance request,这里需要注意的是,如果是给网站申请数字证书时必须选择该项,因为赋予网站的数字证书需要使用a步骤中所产生的特定的密钥文件,这样才能生成属于该网站的唯一的数字证书。而一般user certificate request 是针对需要访问该网站的客户设计的,分别有web browser certificate 和e-mail protection certificate 两种方式。客户采用web browser certificate方式申请对有ssl保护的网站的访问,而e-mail protection certificate是保护客户收发email时的信息传送。接下去页面的advanced certificate requests 中我们选择submit a certificate request using a base64 encoded pkcs #10 file or a renewal request using a base64 encoded pkcs #7 file。因为这种格式和在a步骤中所产生的密钥文件的加密格式一致。然后,可以通过browse把存在本机上的.txt密钥文件上载至网页上,递出申请。在最后的界面中,会被告知请求已经被接到并正在等待证书授权机构的批准。
c, 微软的certificate service可以使用mmc来管理:
  服务器提出的要求数字验证的请求传递到ca机构中,打开start/program/administrative tools/certification authority后,可以看到pending request文件夹,这个文件夹包含了所有等待root授权机构批准的证书请求。如果ca认证机构觉得该网站的申请可行,则单击右键选择issue,这样,该文件就被移到了issued certificates,表示申请成功,这个节点包含了所有被证书服务的管理员批准并被发布的证书。反之如果ca机构觉得该申请不可行,则选择deny,该文件被转移到failed request,表示申请失败,这个节点包含了所有被拒绝的证书请求。对申请成功并发布的数字证书而言,如果ca机构想取消该证书,可以单击右键选择revoke,则已申请成功的数字证书被移到revoke certificates文件夹内,这个节点包含了所有被发布但是又被撤销的证书。
d, 提交数字验证的网站在等待一定时间后,依然可以通过http://localhost/certsrv来查看自己所申请的数字验证的进行情况。选择check on a pending certificate选项并单击next 按钮继续。从选项框中选择候选的请求,单击next按钮继续。为下载该文件选择base64 encoding并单击download ca certificate链接以开始下载过程。这样就从证书授权机构接到了服务器证书文件。打开iis,选定已经得到数字验证的网站,单击右键后选择properties,在属性页directory security中,单击server certificate 按钮以启动web服务证书向导,选择process a pending request and install certificate选项。选择上一步骤中download下来的数字证书(即.cer文件)的存放路径,开始安装。安装成功后,directory security属性页中的view certificate和edit按钮由disable变为enable。整个网站的数字验证过程完毕。
 3,关于certificate的属性设置
点击directory security属性页的edit按钮,可以进行网站数字验证属性的设置。首先,如果选择了require secure channel(ssl)复选框,则http的形式将无法访问该站点,只有采用https的方式进行访问。如果不选择该项的话,则http和https两种方式并存,都可以进行对此网站的访问。如果选择了该项,则又有三种方式可供选择,分别是ignore client certificate,accept client certificate 以及require client certificate。ignore client certificate表示不接受客户证书(默认):如果客户浏览器安装了客户证书,会返回一个access denied消息。accept client certificate表示接受证书:不管客户是否安装了客户证书对服务器没有区别,访问在两种情况下都是允许的。ignore client certificate表示需要客户证书:除非客户有一个被root ca(这里是证书服务器)授予的合法证书,否则访问被拒绝。客户要访问网站,必须得先从服务器得到数字验证,也即,客户端必须首先向要访问的网站提出要求数字验证的申请,在得到服务器端发回的用于两者间信息交互的数字证书后,才可以对该网站进行访问,否则,网站将拒绝该客户的访问。
不同的网站可以针对这三个属性进行不同的设置。
 4,客户端ssl的配置
在浏览器和web站点之间开始ssl通信之前,客户端必须能够认出服务器的证书是合法的。要做到这一点,客户端必须和服务器的证书授权机构取得联系,在这种情况下是本地的证书服务器。如果没能实现前面的步骤,直接连到ssl站点,会首先接到安全警告信息。客户浏览器需要在浏览器的trusted root store中安装证书。要安装证书,在安全警告对话框出现时,单击view certificate按钮,就会出现一个对话框,该对话框中包含了证书的信息。单击install certificate 按钮以启动证书导入向导。
对客户而言,ssl的配置就相对比较简单,客户可以选择申请数字证书,也可以不用,只是,如果客户所访问的某个网站设定了require client certificate属性,则客户必须在得到了该网站的数字验证后,才能对此进行访问,换言之,客户想得到访问权,就必须先向网站提出申请。
客户通过访问http://servername/certsrv来申请数字验证,它的操作过程和网站申请数字验证基本雷同,只是它不是选择advance request这一项,而是使用user certificate request 下的web browser certificate选项,只要填写客户的一些相应信息后,就能递出申请,而当ca机构认证后,也是从网上直接下载相对应的数字证书至本机。这样,每当访问该网站,当弹出要求客户端数字验证的消息框后,客户选择已经下载过的数字证书,就可以进行对网站的访问了。

注意事项:如果网站的端口号不是默认的80,而是自己定义的话,则相应的也要给ssl port 设定一个端口号,以示区别,而访问http和https时,所输入的端口号是不一致的。如果网站使用默认的80端口,则ssl也不需要配置特定的端口号,它的默认端口号为443。

二,服务器和装有ca(certificate server)的计算机独立
  网站申请数字证书的过程和前面部分一样。只是,上一部分的操作因为ca和服务器设在同一台机器上,所以,访问本机的http://localhost/certsrv就可以了,而这一部分,因为ca和服务器的计算机独立,所以,申请的时候也和客户端一样,远程访问http://caname/certsrv ,其中的具体操作和上一部分一样。只是,在这种情况下,该网站如果设置了require client certificate,则客户就很难访问该网站了,因为客户端无法向该网站发出要求数字验证的申请。一般而言,最好采用accept client certificate。

()

相关文章:
© 2006   www.java-asp.net