服务器证书受到了越来越多电商企业的青睐,它不仅可以显示网站的真实性,还可以在网站用户输入密码与用户名时对这些信息进行加密,全程保护用户信息安全放心完成交易。但很多企业在购买了ssl服务器证书后一头雾水,不知道如何下手进行安装。下面就教您如何在Tomcat服务器上安装SSL证书。(内容主要来源网络搜集整理)
工具:keytool (Windows下路径:%JAVA_HOME%/bin/keytool.exe)环境:Windows 2008 企业版、Tomcat-7.0.27、JDK1.6、IE11、Chrome
一、 搭建CA证书服务器
v CA(证书颁发机构)
为了保证网络上信息的传输安全,除了在通信中采用更强的加密算法等措施外,必须建立一种信任及信任验证机制,即通信各方必须有一个可以被验证的标识,这就需要使用数字证书,证书的主体可以是用户、计算机、服务等。证书可以用于多方面,例如Web用户身份验证、web服务器身份验证、安全电子邮件等。安装证书确保望上传递信息的机密性、完整性、以及通信双方身份的真实性,从而保障网络应用的安全性。
提示:CA分为两大类,企业CA和独立CA;
v 企业CA的主要特征如下
1)企业CA安装时需要AD(活动目录服务支持),即计算机在活动目录中才可以。
2.当安装企业根时,对于域中的所用计算机,它都将会自动添加到受信任的根证书颁发机构的证书存储区域;
3.必须是域管理员或对AD有写权限的管理员,才能安装企业根CA;
v 独立CA主要以下特征
1.CA安装时不需要AD(活动目录服务)。
2 .默认情况下,发送到独立CA的所有证书申请都被设置为挂起状态,需要管理员受到颁发。这完全出于安全性的考虑,因为证书申请者的凭证还没有被独立CA验证;
在简单介绍完CA的分类后,现在开始安装证书服务;
1. 打开控制面板,选择“程序”–“打开或关闭Windows功能”,如下图所示:

















1. 生成Web服务器的证书库
在命令控制台中输入命令,生成web服务器的证书存放库:
keytool -genkey -alias server -validity 3650 -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -keypass password -storepass password -dname “CN=www.csdn.net, OU=csdn, O=csdn, L=bj, ST=bj, C=CN” -keystore d:keystore.jks
说明:
-genkey参数是建立证书库
-alias为别名,这里使用server
-keyalg为指定加密方式,这里使用常用的RSA加密方式
-sigalg 证书算法参数,目前以不推荐SHA1withRSA
-keysize 密钥长度,2048位
-keypass 私钥密码
-storepass 密钥库密码
-dname 证书主题信息,其中CN为服务器域名(www.csdn.net)或IP地址(192.168.1.111),OU为部门信息,O为单位信息,L为地市信息,ST为省,C为国家(通常为“CN”)
-keystore为指定证书库存放文件
2. 生成向CA证书服务器申请证书的文件
keytool -certreq -keyalg RSA -sigalg SHA256withRSA -alias server -file d:server.csr -keystore d:keystore.jks -storepass password -ext san=dns:www.csdn.net
说明:
-certreq声称申请证书文件
-keyalg 指定加密方式
-alias 证书库的别名 这里必须与上一步中建立的正数据名字相同
-file 指定生成的文件文件名称以及路径
-keystore 指定证书库
-ext 证书扩展信息,在此填写证书备用名称,可多个域名或IP地址,用逗号隔开
(如:san=dns:www.csdn.net,dns:mp.csdn.net,ip:192.168.1.111,Chrome浏览器如不填会提示警告信息)
3. 向CA申请证书
生成申请证书成功,这时候在jdk/bin目录下存在两个文件keystore.jks和server.csr,keystore.jks为刚才生成的证书库文件,server.csr为向CA认证中心申请证书的申请文件,如果向第三方CA认证中心申请证书,直接提交server.csr文件即可,但目前使用我们自己搭建的CA服务器,而windows提供的注册证书颁发服务没有提供提交文件的入口,故此:使用UE或者editPlus等工具打开server.csr文件,将文件中的内容复制出来(仅仅—–BEGIN NEW CERTIFICATE REQUEST—–和—–END NEW CERTIFICATE REQUEST—–之间的内容),然后打开浏览器,输入链接地址:http://localhost/certsrv/ 打开CA服务器的申请界面,点击“申请证书”–》“高级证书申请”



切换到CA证书服务器,打开控制面板,选择“管理工具”,找到“证书颁发机构”,打开证书管理器,管理证书的频发,如下图所示:
1. 查看keystore文件内容
进入JDK安装目录下的bin目录,运行keytool命令查询keystore文件信息。
keytool -list -keystore D:keystore.jks -storepass password
2. 导入CA根证书(如果有多张CA证书,则重复执行下面步骤)
keytool -import -alias ca1 -keystore D:keystore.jks -trustcacerts -storepass password -file D:ca1.cer -noprompt
keytool -list -keystore D:keystore.jks -storepass password
复制已正确导入认证回复的keystore.jks文件到Tomcat安装目录下的conf目录。打开conf目录下的server.xml文件,找到并修改以下内容
<!–
<Connector port=”8443″ protocol=”HTTP/1.1″ SSLEnabled=”true”
maxThreads=”150″ scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS” />
SSL访问端口
–>
修改为
<Connector port=”443″ protocol=”org.apache.coyote.http11.Http11Protocol” SSLEnabled=”true”
maxThreads=”150″ scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS”
keystoreFile=”/conf/keystore.jks” keystorePass=”password”
truststoreFile=”/conf/keystore.jks” truststorePass=”password” />
属性说明:clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证keystoreFile:服务器证书文件路径keystorePass:服务器证书密码truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书truststorePass:根证书密码
默认的SSL访问端口号为443,如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的站点。2. 访问测试
重启Tomcat,访问https://youdomain:port,测试证书的安装。
五、 服务器证书的备份及恢复
在您成功的安装和配置了服务器证书之后,请务必依据下面的操作流程,备份好您的服务器证书,以防证书丢失给您带来不便。
1. 服务器证书的备份
备份服务器证书密钥库文件keystore.jks文件即可完成服务器证书的备份操作。
2. 服务器证书的恢复
请参照服务器证书安装部分,将服务器证书密钥库keystore.jks文件恢复到您的服务器上,并修改配置文件,恢复服务器证书的应用。
六、 客户端证书的管理
有的时候,我们需要实现 TOMCAT+SSL 双向认证,也就是说,首先,客户端将要认证服务器的安全性,确保访问的是正确的服务器,而非假冒的钓鱼网站;其次,服务器也要认证客户端的安全性,只有那些拥有服务器授权证书的客户端才可以访问。
客户端证书的管理建议使用自信CA,使用简单方便,需要的请到下列地址下载,内含详细操作说明。
1. 密钥备份与导入
为了保障CA密钥一致,需要将Windows 2008下配置的CA机构证书(含密钥)导出,步骤如下:
1、Google Chrome浏览器
(1) 进入浏览器设置页面,滑到底部,点击“高级”显示高级设置
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 ivillcn@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.shangraobbs.com/n/4398.html