第一章CA服务器搭建1.Windows2008安装“IIS”以及“证书服务”注:安装“证书服务”之后将不能修改计算机的“机器名”以及“域”,IIS将使用windows的80端口,80端口必须没有被占用,否则后果严重,无法安装。右键“计算机”——“管理”点击左侧的“角色”点击右侧的“添加角色”,弹出“添加角色向导”勾选“ActiveDirectory证书服务”和“Web服务器(IIS)”两个服务,点击下一步点击“下一步”勾选“证书颁发机构”和“证书颁发机构Web注册”,在勾选“证书颁发机构Web注册”时弹出“添加角色向导”点击“添加必需的角色服务”,点击“下一步”如果大家自己的服务器建议使用“企业”根节点,“企业”根更有利与使用windows的域控制器,来控制安全性,当然使用“独立”根节点也并不影响,这里因为机器全部使用的工作组而没有使用域,所以无法使用“企业”根,在这里使用“独立”根,点击“下一步”选择“根CA”,点击“下一步”选择“新建私钥”,点击“下一步”,进入“加密”在这里选择“加密方式”,默认使用SHA1加密方式,这里不做更改,点击“下一步”点击“下一步”这里选择“CA证书”有效期限,默认为5年,点击“下一步”这里选择证书的存放位置,以及日志的存放位置,使用“默认”选择,点击“下一步”点击“下一步”这里选择IIS服务器的安装配置,如没有特殊需求使用默认即可,点击“下一步”点击“安装”,进入服务安装环节等待安装结束,安装结束后,点击“关闭”。安装结束后,右键“计算机”点击“管理”,在右侧展开目录树,出现点击“Web服务器(IIS)”,在右侧中点击“启动”(安装之后默认是启动状态),打开浏览器,在地址栏中输入:打开以下页面截止到此windows2008的证书服务,以及证书颁发服务全部安装完毕,ca证书服务器搭建完毕。2.Windows2003安装“IIS”以及“证书服务”暂缺,但有相关的文档资料《搭建CA服务器用SSL实现网站数据加密传输.pdf》第二章向CA证书服务器申请CA证书参考资料:在web服务器上(安装Tomcat的服务器)操作系统版本不限制,使用JDK或JVM1.4以及以上版本。在“开始”——“运行”中,输入cmd打开文本命令窗口,将目录切换到jdk或者jre中的bin下面(这里默认使用jdk1.5.0.10安装目录为c:/java/jdk1.5.0_10/)。在命令窗口中输入命令:cdc:/java/jdk1.5.0_10/bin1.生成Web服务器的证书库下面生成一个向ca服务器申请证书的文件,在命令控制台中输入命令:keytool-genkey-aliastomcat-keyalgRSA-keystorekeystore生成web服务器的证书存放库keytool是java提供的声称证书的工具在jdk或者jre的bin目录下存在keytool.exe文件-genkey参数是建立证书库-alias为别名,这里使用tomcat-keyalg为指定加密方式,这里使用常用的RSA加密方式-keystore为指定证书库存放文件按“回车”键,出现输入证书库密码的提示框输入密码,“回车”,出现输入证书注册信息的提示:第一个提示输入的是“您的名字与姓氏是什么”,这里非常重要,一般填写域名,比如:地址,比如:192.168.1.243还有最后一个“该单位的两字母国家代码是什么”一般填写CN(大写)最后确认你填写的信息是否正确,输入y,“回车”提示输入别名为tomcat证书库的主密码(如果和keystore密码相同,按回车),这里使用一致密码就可以直接“回车”。在控制台输入命令keytool–list–keystorekeystore-list打开证书库列表-keystore指定要打开的证书库输入证书密码2.生成向CA证书服务器申请证书的文件keytool-certreq-keyalgRSA-aliastomcat-filecertreq.csr-keystorekeystore-certreq声称申请证书文件-keyalg指定加密方式-alias证书库的别名这里必须与上一步中建立的正数据名字相同-file指定生成的文件文件名称以及路径-keystore指定证书库提示输入证书库keystore的密码生成申请证书成功,这时候在jdk/bin目录下生成了两个文件keystore和certreq.csr,keystore为刚才生成的证书库文件,certreq.csr为向CA认证中心申请证书的申请文件,如果向第三方CA认证中心申请证书,直接提交certreq.csr文件即可,但目前使用我们自己搭建的ca服务器,而windows提供的注册证书颁发服务没有提供提交文件的入口,故此:使用UE或者editPlus等工具打开certreq.csr文件将文件中的内容复制出来,然后打开浏览器,输入链接地址:http://证书服务器ip地址/certsrv/打开CA服务器的申请界面,点击“申请证书”点击“高级证书申请”点击“使用base64编码的CMC或PKCS#10文件提交一个证书申请……”出现以下界面在“保存的申请”输入框中粘贴“certreq.csr”文件中的内容点击“提交”注:如果CA证书服务器搭建时使用的是“企业”根时,到此就结束了可以直接下载证书,但因为搭建CA证书服务器时使用的是“独立”根,所以这里需要去证书服务器手动颁发一下证书切换到CA证书服务器,右键“计算机”,点击“管理”,打开“角色”目录树,打开“ActiveDirectory证书服务”,打开独立根,点击“挂起的申请”右键右侧的申请在“所有任务”中选择“颁发”,到此为止证书颁发成功,然后切换到web服务器,在浏览器中输入刚才申请证书的链接地址:http://证书服务器ip地址/certsrv/去下载证书,注意:这里将要下载2个证书,一个是CA服务器的根证书,一个是网站的CA证书点击“下载CA证书、证书链或CRL”去下载CA服务器的根证书点击“下载CA证书”下载CA服务器的“根证书”,另存为rootCert.cer注意:这个证书是CA证书服务器的根证书而并非申请的网站(系统)的CA证书然后回到主页点击“查看挂起的证书申请的状态”看一下“保存的申请证书(日期)”日期是否是刚才申请的时间,如果是点击该链接,下载网站(系统)的CA证书另存为“siteCert.cer”到此,证书申请完毕。3.将申请的证书导入到web服务器的证书库中打开web服务器的命令控制台(开始——运行——cmd),先讲CA证书的根证书导入到web服务器的证书库中输入:keytool-import-trustcacerts-aliasroot-filed:/rootCert.cer-keystorekeystore-import倒入-trustcacerts证书-alias要导入证书库的字库这里导入的是CA服务器的根目录所以选择root-file证书的路径-keystore指定目的证书库提示输入证书库keystore的密码输入y并“回车”,提示“认证已添加至keystore中”使用keytool–list–keystorekeystore命令查看证书库信息然后将网站(系统)的CA证书导入到证书库中keytool-import-trustcacerts-aliastomcat-filed:/siteCert.cer-keystorekeystore-alias这里使用的一开始建立证书库的时候tomcat子库-file证书存放的路径输入密码,并“回车”提示证书回复已安装在keystore中,到此证书全部导入完毕第三章修改Tomcat配置文件,使tomcat使用CA证书将生成的keystore文件复制到tomcat安装目录的conf文件夹下,打开conf/server.xml,搜索non-SSLHTTP/1.1Connector找到Connector标签,主要增加3个属性scheme=httpskeystoreFile=/conf/keystorekeystorePass=python。-scheme访问的协议-keystoreFile证书库的目录位置,也就是刚刚的keystore文件位置-keystorePass证书库的密码,也就是开始输入的密码,在本例中是pythonConnectorport=8443maxThreads=150minSpareThreads=25maxSpareThreads=75enableLookups=falsedisableUploadTimeout=trueacceptCount=100debug=0scheme=httpssecure=trueclientAuth=falsesslProtocol=TLSkeystoreFile=/conf/keystorekeystorePass=python/然后重启tomcat打开浏览器访问tomcat下的工程,这里测试环境:因为这里使用的是我们自己搭建的CA证书服务器,所以IE提示“此网站出具的安全证书不是由受信任的证书颁发机构颁发的……”,解决这个问题需要改变客户端机器的IE设置,将CA服务器的根证书(也就是刚刚的rootCert.cer)导入到客户端浏览器中,下面以IE8为例。点解“工具”——“Internet选项”打开“内容”选项卡,点击其中的“证书”按钮打开“证书”界面打开“受信任的根证书颁发机构”点击“导入”点击“下一步”点击“浏览”按钮,选择要导入的证书(也就是刚刚的rootCert.cer)点击“下一步”,一路默认选择点击“是”完成“CA服务器的根证书”导入,重启浏览器,访问刚才的地址能够正常访问,使用https协议,并且在最后面有一个锁的标志,证明CA证书安装,并且使用正常。