win2008搭建CA服务器tomcat5的ssl配置

第一章           CA服务器搭建

1.    Windows 2008 安装“IIS”以及“证书服务”

注:安装“证书服务”之后将不能修改计算机的“机器名”以及“域”,IIS将使用windows80端口,80端口必须没有被占用,否则后果严重,无法安装。

右键“计算机”——>“管理”

点击左侧的“角色”

点击右侧的“添加角色”,弹出“添加角色向导”

勾选“Active Directory 证书服务”和“Web 服务器(IIS)”两个服务,点击下一步

点击“下一步”

勾选“证书颁发机构”和“证书颁发机构Web注册”,在勾选“证书颁发机构Web注册”时弹出“添加角色向导”

点击“添加必需的角色服务”,点击“下一步”

如果大家自己的服务器建议使用“企业”根节点,“企业”根更有利与使用windows的域控制器,来控制安全性,当然使用“独立”根节点也并不影响,这里因为机器全部使用的工作组而没有使用域,所以无法使用“企业”根,在这里使用“独立”根,点击“下一步”

选择“根CA”,点击“下一步”

选择“新建私钥”,点击“下一步”,进入“加密”

在这里选择“加密方式”,默认使用SHA1加密方式,这里不做更改,点击“下一步”

点击“下一步”

这里选择“CA证书”有效期限,默认为5年,点击“下一步”

这里选择证书的存放位置,以及日志的存放位置,使用“默认”选择,点击“下一步”

点击“下一步”

这里选择IIS服务器的安装配置,如没有特殊需求使用默认即可,点击“下一步”

点击“安装”,进入服务安装环节

等待安装结束,安装结束后,点击“关闭”。

安装结束后,右键“计算机”点击“管理”,在右侧展开目录树,出现

点击“Web服务器(IIS)”,在右侧中点击“启动”(安装之后默认是启动状态),打开浏览器,在地址栏中输入:http://localhost/certsrv/  打开以下页面

截止到此windows 2008的证书服务,以及证书颁发服务全部安装完毕,ca证书服务器搭建完毕。

2.     Windows 2003 安装“IIS”以及“证书服务”

暂缺,但有相关的文档资料《搭建CA服务器用SSL实现网站数据加密传输.pdf

第二章           CA证书服务器申请CA证书

参考资料:http://doorgods.blog.163.com/blog/static/78547857201141934531616/

web服务器上(安装Tomcat的服务器)操作系统版本不限制,使用JDKJVM1.4以及以上版本。在“开始”——>“运行”中,输入cmd打开文本命令窗口,将目录切换到jdk或者jre中的bin下面(这里默认使用jdk1.5.0.10安装目录为c:/java/jdk1.5.0_10/)。

在命令窗口中输入命令:

cd c:/java/jdk1.5.0_10/bin

1.    生成Web服务器的证书库

下面生成一个向ca服务器申请证书的文件,在命令控制台中输入命令:

keytool -genkey -alias tomcat -keyalg RSA -keystore keystore

生成web服务器的证书存放库

keytooljava提供的声称证书的工具在jdk或者jrebin目录下存在keytool.exe文件

-genkey参数是建立证书库

-alias为别名,这里使用tomcat

-keyalg为指定加密方式,这里使用常用的RSA加密方式

-keystore为指定证书库存放文件

按“回车”键,出现输入证书库密码的提示框

输入密码,“回车”,出现输入证书注册信息的提示:

第一个提示输入的是“您的名字与姓氏是什么”,这里非常重要,一般填写域名,比如:www.sddpf.org.cn 或者ip地址,比如:192.168.1.243

还有最后一个“该单位的两字母国家代码是什么”一般填写CN(大写)

最后确认你填写的信息是否正确,输入y,“回车”

提示输入别名为tomcat证书库的主密码(如果和keystore密码相同,按回车),这里使用一致密码就可以直接“回车”。

在控制台输入命令

keytool –list –keystore keystore

-list打开证书库列表

-keystore指定要打开的证书库

输入证书密码

2.    生成向CA证书服务器申请证书的文件

keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore keystore

-certreq声称申请证书文件

-keyalg 指定加密方式

-alias 证书库的别名 这里必须与上一步中建立的正数据名字相同

-file 指定生成的文件文件名称以及路径

-keystore 指定证书库

提示输入证书库keystore的密码

生成申请证书成功,这时候在jdk/bin目录下生成了两个文件keystorecertreq.csrkeystore为刚才生成的证书库文件,certreq.csr为向CA认证中心申请证书的申请文件,如果向第三方CA认证中心申请证书,直接提交certreq.csr文件即可,但目前使用我们自己搭建的ca服务器,而windows提供的注册证书颁发服务没有提供提交文件的入口,故此:使用UE或者editPlus等工具打开certreq.csr文件

将文件中的内容复制出来,然后打开浏览器,输入链接地址:http://证书服务器ip地址/certsrv/ 打开CA服务器的申请界面,点击“申请证书”

点击“高级证书申请”

点击“使用base64编码的CMCPKCS #10文件提交一个证书申请……

出现以下界面

在“保存的申请”输入框中粘贴“certreq.csr”文件中的内容

点击“提交”

注:如果CA证书服务器搭建时使用的是“企业”根时,到此就结束了可以直接下载证书,但因为搭建CA证书服务器时使用的是“独立”根,所以这里需要去证书服务器手动颁发一下证书

切换到CA证书服务器,右键“计算机”,点击“管理”,打开“角色”目录树,打开“Active Directory证书服务”,打开独立根,点击“挂起的申请”

右键右侧的申请

在“所有任务”中选择“颁发”,到此为止证书颁发成功,然后切换到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 -alias root -file d:/rootCert.cer -keystore keystore

-import 倒入

-trustcacerts证书

-alias 要导入证书库的字库 这里导入的是CA服务器的根目录所以选择 root

-file 证书的路径

-keystore 指定目的证书库

提示输入证书库keystore的密码

输入y并“回车”,提示“认证已添加至keystore中”

使用 keytool –list –keystore keystore命令查看证书库信息

然后将网站(系统)的CA证书导入到证书库中

keytool -import -trustcacerts -alias tomcat -file d:/siteCert.cer -keystore keystore

-alias这里使用的一开始建立证书库的时候tomcat子库

-file 证书存放的路径

输入密码,并“回车”

提示证书回复已安装在keystore中,到此证书全部导入完毕

 

第三章           修改Tomcat配置文件,使tomcat使用CA证书

将生成的keystore文件复制到tomcat安装目录的conf文件夹下,打开conf/server.xml,搜索non-SSL HTTP/1.1 Connector找到标签,主要增加3个属性scheme="https" keystoreFile="/conf/keystore" keystorePass="python"

-scheme访问的协议

-keystoreFile 证书库的目录位置,也就是刚刚的keystore文件位置

-keystorePass 证书库的密码,也就是开始输入的密码,在本例中是python

 

     

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" disableUploadTimeout="true"

               acceptCount="100" debug="0" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" 

               keystoreFile="/conf/keystore" keystorePass="python"/>

 

然后重启tomcat

打开浏览器访问tomcat下的工程,这里测试环境:

https://192.168.1.243:8443/zzgs_ui/login.jsp

因为这里使用的是我们自己搭建的CA证书服务器,所以IE提示“此网站出具的安全证书不是由受信任的证书颁发机构颁发的……”,解决这个问题需要改变客户端机器的IE设置,将CA服务器的根证书(也就是刚刚的rootCert.cer)导入到客户端浏览器中,下面以IE8为例。点解“工具”——“Internet选项”打开“内容”选项卡,点击其中的“证书”按钮

打开“证书”界面

打开“受信任的根证书颁发机构”点击“导入”

点击“下一步”

点击“浏览”按钮,选择要导入的证书(也就是刚刚的rootCert.cer

点击“下一步”,一路默认选择

点击“是”

完成“CA服务器的根证书”导入,重启浏览器,访问刚才的地址https://192.168.1.243:8443/zzgs_ui/login.jsp 能够正常访问,使用https协议,并且在最后面有一个锁的标志,证明CA证书安装,并且使用正常。

 

你可能感兴趣的:(java)