前言
服务器证书(以下称WebServer 证书)是Web Server 与浏览器用户建立安全连接时所必须具备的证书。
WebServer 证书的密钥对由相应的Web Server 自己产生和管理,申请证书时只需将Web Server 产生的证书申请数据包提交给CFCA 证书下载中心即可,密钥位长为512 位(或1024 位)。
按照一定的步骤CFCA 证书下载中心将返回证书应答,即可将证书装载到Web Server 中。
目前,CFCA 能够签发Netscape Web Server,Microsoft IIS server,Apache WebServer 等WWW 服务器的证书。
第一章、 Web Server 证书的安装配置
操作流程
服务器证书(WebServer 证书)的申请操作流程如下:
1、 需要申请证书的Web Server 管理员登录CFCA 网站,选择证书申请(http://www.cfca.com.cn/down/shenqing.htm),下载生产或者ET-01 系统的WebServer 证书申请表并填写。
如果下载E-01 系统的证书,填写好的表格交给CFCA 市场部;如果下载ET-01 系统的证书,填写好的表格Email 给abc@cfca.com.cn 邮箱即可。相关的CFCA 人员将返回参考号和授权码给申请人。
2、 得到参考号和授权码后,申请人在相应的Web Server 运行证书申请数据包生成程序,生成证书请求包(通常为pkcs10 的请求)。
3、 申请人得到证书请求后登录CFCA 证书下载中心,输入参考号、授权码以及证书申请后,可以获得证书。
请注意区分E-01 系统和ET-01 系统,只有在对应的系统进行下载才能够成功。
4、 Web Server 管理员在相应的Web Server 运行证书装载程序,就可以将申请成功的证书装载到WebServer 中了。
申请安装的例子
下面以Solaris 平台 Netscape Enterprise Server Standard Edition 3.5.1 为例说明Web Server 证书的申请安装过程:
前提条件
在申请和安装Web Site 证书之前,须具备如下条件:
1.已经安装了Web Server。
2.已经从你的RA 操作员获得Web Server 类型证书的参考号(reference number)和授权码(authorization code)。
具体流程
1、在WEB SERVER 上产生证书请求
1.1 在Web Server 端产生密钥对
1.2 在Web Server 上产生证书申请
2、WEB SERVER 证书的下载
3、在WEB SERVER 端安装得到的证书
4、CFCA 证书链的安装
4.1 获取cer 格式的证书链
4.2 获取编码格式的证书链
常见问题
5、WEBSERVER 证书安装配置常见问题
在Web Server 上产生证书请求
1.1 在Web Server 端产生密钥对
1.打开浏览器进入到Web Server 的管理界面,选择管理选项keys and Certificates。
2.选择 Generate Key 选项。
3.点击Help 按钮。按照弹出的帮助信息找到产生密钥对的程序的路径。在Unix 下该程序文件
名通常为sec-key(应以帮助信息为准)。
4.到该路径下运行产生密钥的程序(sec-key),按照提示,产生密钥对。运行该程序时需要为 存放密钥的文件指定名字(alias),要记住这个名字。
1.2 在Web Server 上产生证书申请
1.确定是否仍在keys and Certificates 管理界面下,否则请在管理主界面下选择管理选项keys and Certificates。
2.Request Certificate 新的证书
3.在出现的申请表单中填写各项信息。下面是各表单项的含义:
-
选择New Certificates
-
CA URL:此处填写颁发证书的CA 的URL。
-
Alias:此处填写产生密钥对时指定的名字。
-
Key Pair File Password:此处填写密钥的保护密码。
-
Requestor Name:此处填写申请者名字(不能为ip 地址)。
-
Telephone Number:此处填写申请者的电话号码(必须填写)。
-
Common Name:此处填写从管理员处获得的参考号(reference number)
-
E-mail Address:此处填写申请者的电子邮件地址(必须填写)。
-
Organization:填写申请人所在组织,(必须填写)。
-
Country:此处填写申请人所在国家,(必须填写)。
4.填写完毕提交。如果提交成功,应该返回PKCS#10 格式证书请求。
5.把上述证书请求拷贝下来,以备后用,注意拷贝完整,要包括BEGIN 和END。
Web Server 证书的下载
-
用户获得Web Server 证书的参考号和授权码后,访问CFCA 网站。
-
在CFCA 网站上点击”证书下载”后,选择”E-01 系统证书下载”中的”Web Server 证书”页面如下:
-
点击Web 站点管理员后,如果没有下载CA 证书链的话,可以在该页面上先点击下载证书链(详细介绍见本章4.2),然后点击”为你的Web 服务器下载一张站点证书 “
-
输入参考号和授权码,并在Options 域选择返回的证书的数据格式。例如选择PKCS-7,把前面得到的PKCS#10 格式证书请求粘贴到下面的文本框。
-
提交该表单,证书将被产生并返回,如果在前面选择了PKCS#7 格式,则返回数据是PKCS#7 格式的。在Web Server 端安装得到的证书
1.确定是否仍在keys and Certificates 管理界面下,否则请在管理主界面下选择管理选项keys and Certificates。
2.选择Install Certificate 选项。
3.在出现的申请表单中填写各项信息。下面是各表单项的含义:
-
Certificate For:选择This Server
-
Certificate Name:此处是证书的名字,可以不填。
-
Message text(with headers):把前面拷贝的证书粘贴到这个表单域中。
-
Alias:此处填写产生密钥对时指定的名字。
4.提交表单,然后在新页面点击Add Certificate,新证书安装完毕
CFCA 证书链的安装
通常,在CFCA 证书下载中心下载证书的过程中可以自动下载证书链。如果没有下载证书链成功或者有其它需要的话,也可以通过如下两种方法进行下载:
4.1 获取cer 格式的证书链
下载CA 证书链(或ET-01 系统CA 证书链),内含rca.cer,pca.cer 和oca.cer 三张CA 证书。
分别打开三个 cer 文件选择”安装证书…”启动证书导入向导,一路默认即可;或者通过浏览器的证书导入,即点击菜单”工具/Internet 选项”,在弹出的对话框中选择”内容/证书”,点击”导入” 启动证书导入向导,一路默认即可。
最终将把rca.cer 导入”受信任的根证书颁发机构”,将pca.cer 和oca.cer导入”中级证书颁发机构。”
下面是证书导入所经历的对话框提示,通常选择默认即可:
导入完成后可在”受信任的根证书颁发机构”中看到RCA 的证书,在”中级证书颁发机构”中看到PCA 和OCA 的证书。
4.2 获取编码格式的证书链
如果无法使用cer 格式的文件,也可以直接到CFCA 证书下载中心获得编码格式的证书,获取方法如下:
首先,登录CFCA 网站在证书下载页面(http://www.cfca.com.cn/down/xiazai.htm )选择对应系统的企业普通(测试)证书,即可进入对应系统的证书下载中心。
注意区分E-01 系统和对外测试系统。下面以E-01 系统为例。
点击Web 站点管理员后,看到如下界面即可分别下载rca、pca 和oca 证书的编码:
4.2.1 RCA
下载根证书(RCA 证书),选择”为你的Web 服务器下载一张根CA 证书”。
根据需要复制相应的编码内容。这主要是指是否复制”BEGIN CERTIFICATE”和 “END CERTIFICATE”这两行,这与WebServer 产品本身相关。将编码内容复制到写字板上,可以存成cer 后缀的文件,或者其它WebServer 需要的文件类型。
4.2.2 PCA 和 OCA
下载二、三层证书(二层证书即PCA 证书,三层证书即OCA 证书),选择”为你的Web 服务器下载第二、三层CA 证书”。
根据需要复制相应的编码内容。
WebServer 证书安装配置常见问题
1).在Win2000 下iis5 中的密钥管理器在什么地方?我如何把证书导成.key 的文件?我现在只能给导成.pfx 的文件。
原因:Win2000 下iis5 没有密钥管理器,因此不能导出*.key 文件
解决办法:首先使用NT 的IIS 的密钥管理器来生成一个pkcs10 证书请求,证书名使用主机名或IP地址,通用名使用参考号,单位匹配证书的o=选项,部门匹配证书的ou=选项。
用 NT 的IIS 生成的pkcs#10 证书请求去申请证书,然后在NT 的IIS 上安装,将生成的密钥导出,到win2000 上将证书导入。
2).下载Web-Server 证书时关于申请域一栏如何填写?
解答:在Web-Server 上生成一个请求,不同的Web-Server 有不同的请求方式,通常情况下可在”生成证书申请请求”的菜单中获得。
如果Web-Server 的种类比较特殊的话,还需查看该Web-Server 的有关文档。
生成以后可将该请求拷贝到申请域一栏里即可提交。
3).下载Web-Server 证书时报错:-2731,非法请求数据?或者报:-3262,加密解密错误?
原因: 引起上诉错误的的原因是请求生成错误,有两个可能:
a、在web servers 上生成证书请求时或者common name(即通用名)一项没有填写参考号;
b、或者”组织单位名称”(OU)和”组织名称”(O)时,输入带空格的字符。
解决办法:按照正确的内容生成证书请求。
4).如何在Apache 上下载Web-server 证书?
解答:登录cfca 网站下载Web-server 证书(E-01 系统/ET-01 系统)及Apache 用户的证书链(E-01 系统/ET-01 系统)。
5).weblogic 用户使用产生的web 服务器证书请求时报错,(具体错误信息没有全部得到,因此不能 列举,错误信息可能是提示时区有问题)
原因:weblogic 填写证书请求信息时,没有common name 项,而CA 服务器需要检查common name 的内容是用户的参考号。
解决办法:在CA 服务器的entmgr.ini 中的policy 项,添加DisablePrivateKeyProof=1,将不检查web 服务器证书请求中common name 是否等于参考号。
6).使用JDK4.1 中的keytool 安装WebServer 证书,正常下载证书,但是在使用keytool 导入证书的 时候报错:keytool error: java.lang.Exception:Failed to establish chain from reply
原因:用户使用linux 系统,安装了多个jdk,但是系统环境变量中的jdk 路径,与产生证书请求的jdk 路径不相同。
解决办法:修改环境变量的设置,或者使用绝对路径执行keytool。
Web Server 证书的使用
安装了WebServer 证书的Web Server 可以申请安全通道(SSL)。
根据Web Server 进行相关的配置后,即可与用户浏览器建立安全连接。支持SSL 2.0 的Web Server 证书在与用户浏览器建立连 接时,不需要用户端的浏览器证书,服务器的SSL 证书用于向用户表明服务器身份和建立安全连接通道。
支持SSL 3.0 的Web Server 证书在与用户浏览器建立连接时,除服务器自身拥有SSL 证书外,还要求浏览器客户端拥有用户证书,建立通信时Web Server 和浏览器交换证书,验证对方身份后建立安全连接通道,保证网上信息传递的安全。
用户登录https://开头的网站后,可以在下面偏右的位置看到锁形图标,双击它可以查看WebServer 证书。
如果用户登录的https://网站要求验证用户证书,将会弹出”客户身份验证”对话框罗列可以登录该网站的用户浏览器里的全部证书。
用户只有选择正确的证书才能登录,否则应用服务器会返回相应的错误提示。
配置服务器开启SSL 服务
下面以IIS 为例介绍如何开启SSL 服务:
在IIS 上查看已经安装了WebServer 证书的站点的属性的”目录安全性”,将看到”安全通信” 部分的”查看证书”和”编辑”按钮已经可用。
点击”编辑”按钮,弹出”安全通信”对话框。勾中上面的”申请安全通道(SSL)”并应用后,就必须通过https://访问该站点了。在”安全通信”对话框还可以配置是否要求客户端有证书。
接受客户证书 –用户可以使用客户证书访问资源,但证书并不必需。
申请客户证书 –服务器在将用户与资源连接之前要请求客户证书。将拒绝没有有效客户证书的用户的访问。
忽略客户证书 –无论用户是否拥有证书,都将被授予访问权限。
WebServer 证书使用常见问题
证书下载成功后,无法正常使用。
原因:没有安装证书链。
解决办法:从CFCA 网站下载相应系统的证书链到本地进行安装。注意Win2000 上IIS 的证书链安装需要通过证书管理单元完成。具体操作参见第一章的6.3。
第三章、Web Server 证书的更新
WebServer 证书有自己的生命周期,请在过期日到来之前进行更新工作,否则将会在用户登录此Web Server 的时候得到WebServer 证书已经过期的安全警报。
1、WEBSERVER 证书更新的流程
2、WEBSERVER 证书更新的常见问题
WebServer 证书更新的流程
通常来讲,WebServer 证书的更新需要首先删除旧证书,之后需要完成如下WebServer 证书的申请更新操作流程(与申请下载相似):
1、需要更新证书的 Web Server 管理员登录CFCA 网站,选择证书申请( http://www.cfca.com.cn/down/shenqing.htm ),下载生产或者ET-01 系统的WebServer 证书申请表并填写。
请在 “备注”写明WebServer 证书的DN,以便确定对哪个证书进行更新。
如果下载E-01 系统的证书,填写好的表格交给CFCA 市场部;如果下载ET-01 系统的证书,填写好的表格Email 给 abc@cfca.com.cn 邮箱即可。相关的CFCA 人员将返回参考号和授权码给申请人。
2、得到参考号和授权码后,申请人在相应的 Web Server 运行证书申请数据包生成程序,生成证书请求包(通常为pkcs10 的请求)。
3、申请人得到证书请求后登录 CFCA 证书下载中心,输入参考号、授权码以及证书申请后,可以 获得证书。
请注意区分 E-01 系统和ET-01 系统,只有在对应的系统进行下载才能够成功。
4、 Web Server 管理员在相应的Web Server 运行证书装载程序,就可以将申请成功的证书装载到Web Server 中了。
WebServer 证书更新的常见问题
由于更新流程与下载流程基本一样,所以像下载流程一样,更新时依然需要注意如下问题:
1、 正确的证书请求,特别注意公用名称填写参考号;
2、 正确的参考号和授权码,两码本身要匹配,也要注意区分在CFCA 网站相应E-01 系统和ET-01 系统的证书下载中心进行下载。
此外,还有如下常见问题:
1).更新Win2000 上的IIS5.0 的WebServer 证书在下载过程中报错3236(解码错误)。
原因:用户直接在IIS5.0 上选择了更新证书。
解决办法:删除现有证书后,像新申请证书一样再重新生成证书请求。具体操作参见第一章的5。注意公用名称填写为更新证书获得的参考号。
SSL 简介
附录: SSL(Server Socket Layer)简介
在网络上信息在源-宿的传递过程中会经过其它的计算机。
一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。
由于Internet 和Intranet 体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展,人们对信息安全的要求越来越高。
因此Netscape 公司提出了SSL 协议,旨在达到在开放网络(Internet)上安全保密地传输信息的目的,这种协议在WEB 上获得了广泛的应用。
之后IETF(www.ietf.org)对SSL 作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0 与SSL3.0 的差别非常微小。
SSL 工作原理
SSL 协议使用不对称加密技术实现会话双方之间信息的安全传递。
可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。
不同于常用的http 协议,我们在与网站建立SSL 安全连接时使用https 协议,即采用https://ip:port/的方式来访问。
当我们与一个网站建立https 连接时,我们的浏览器与Web Server 之间要经过一个握手的过程来完成身份鉴定与密钥交换,从而建立安全连接。
具体过程如下:
-
用户浏览器将其SSL 版本号、加密设置参数、与session 有关的数据以及其它一些必要信息发送到服务器。
-
服务器将其SSL 版本号、加密设置参数、与session 有关的数据以及其它一些必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL 需要验证用户身份,还要发出请求要求浏览器提供用户证书。
-
客户端检查服务器证书,如果检查失败,提示不能建立SSL 连接。如果成功,那么继续。
-
客户端浏览器为本次会话生成pre-master secret,并将其用服务器公钥加密后发送给服务器。
-
如果服务器要求鉴别客户身份,客户端还要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。
-
如果服务器要求鉴别客户身份,则检查签署客户证书的CA 是否可信。如果不在信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的pre-master secret,并用它通过某些算法生成本次会话的master secret。
-
客户端与服务器均使用此master secret 生成本次会话的会话密钥(对称密钥)。在双方SSL 握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。
-
客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已经完成本次SSL 握手。
-
服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL 握手。
本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。
小结
这篇文章就是百度上为数不多介绍 CFCA 的,不过显然有很多问题。
格式有问题,逻辑不够清晰。
这里涉及到一个知识的源头问题,最好的源头应该是 CFCA 官方的说明文档。