问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何配置tomcat的https证书

发布网友 发布时间:2022-04-21 05:12

我来回答

1个回答

热心网友 时间:2022-04-13 01:04

1、为服务器生成证书
“运行”控制台,进入%JAVA_HOME%/bin目录,使用如下命令进入目录:
cd “c:\Program Files\Java\jdk1.6.0_11\bin”
使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件存放在“D:\home\tomcat.keystore”,口令为“password”,使用如下命令生成:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\home\tomcat.keystore -validity 36500 (参数简要说明:“D:\home\tomcat.keystore”含义是将证书文件的保存路径,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天 “tomcat”为自定义证书名称)。
在命令行填写必要参数:
A、 输入keystore密码:此处需要输入大于6个字符的字符串。
B、 “您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251](就是你将来要在浏览器中输入的访问地址),否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。在本地做开发测试时,应填入“localhost”。
C、 你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息。
D、 输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以,完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件。

2、为客户端生成证书
为浏览器生成证书,以便让服务器来验证它。为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,因此,使用如下命令生成:
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\home\mykey.p12 (mykey为自定义)。
对应的证书库存放在“D:\home\mykey.p12”,客户端的CN可以是任意值。双击mykey.p12文件,即可将证书导入至浏览器(客户端)。
让服务器信任客户端证书
由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,使用如下命令:
keytool -export -alias mykey -keystore D:\home\mykey.p12 -storetype PKCS12 -storepass password -rfc -file D:\home\mykey.cer
(mykey为自定义与客户端定义的mykey要一致,password是你设置的密码)。通过以上命令,客户端证书就被我们导出到“D:\home\mykey.cer”文件了。
下一步,是将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:
keytool -import -v -file D:\home\mykey.cer -keystore D:\home\tomcat.keystore
通过list命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:
keytool -list -keystore D:\home\tomcat.keystore (tomcat为你设置服务器端的证书名)。
让客户端信任服务器证书
由于是双向SSL认证,客户端也要验证服务器证书,因此,必须把服务器证书添加到浏览的“受信任的根证书颁发机构”。由于不能直接将keystore格式的证书库导入,必须先把服务器证书导出为一个单独的CER文件,使用如下命令:
keytool -keystore D:\home\tomcat.keystore -export -alias tomcat -file D:\home\tomcat.cer (tomcat为你设置服务器端的证书名)。
通过以上命令,服务器证书就被我们导出到“D:\home\tomcat.cer”文件了。双击tomcat.cer文件,按照提示安装证书,将证书填入到“受信任的根证书颁发机构”。
配置Tomcat服务器
打开Tomcat根目录下的/conf/server.xml,找到Connector port="8443"配置段,修改为如下:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="D:\\home\\tomcat.keystore" keystorePass="123456"
truststoreFile="D:\\home\\tomcat.keystore" truststorePass="123456" />
(tomcat要与生成的服务端证书名一致)
属性说明:
clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密码
truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
truststorePass:根证书密码

3、测试
在浏览器中输入:https://localhost:8443/,会弹出选择客户端证书界面,点击“确定”,会进入tomcat主页,地址栏后会有“锁”图标,表示本次会话已经通过HTTPS双向验证,接下来的会话过程中所传输的信息都已经过SSL信息加密。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
肺气肿吃什么食物最好 吃什么对肺气肿好 肺气肿老人吃什么水果好 世界乐坛唱功排行? 全球唱功排名? 全球唱功排名 MariahCarey与CelineDion谁唱歌唱得好些?或者谁的唱功较好? Mariah Carey 与 Celine Dion谁唱歌唱得好些?或者谁的唱功较好 国家水费多少钱一吨 国家水费标准是多少一吨?多少水才算一吨 水费是多少钱一吨 如何查询社保卡制卡进度 linux tomcat 7 怎么配置https 社保卡查询时显示异常怎么办 linux操作系统tomcat服务器下怎么配置https 社保卡显示状态异常怎么回事? 社保卡状态查询说:我的社会保障卡状态异常该怎么办 社保卡查询时显示异常怎么办? 社保卡查询怎么显示异常? 新办的社保卡制卡成功,但为什么显示节点异常? 丰县那个银行比较好贷款 莱商银行房子商业贷款可以转工积金贷款吗? 莱商银行抵押贷款好贷吗 莱商银行贷款快吗 好贷吗 有谁知道怎么从莱商银行贷款的 莱商银行贷款利率怎么样 莱商银行做的房贷贷款利息是5.5吗? 首套房的商业贷款基准利率是多少 打印机显示标志是什么原因 点打印的时候显示一个文档被挂起怎么解决 如何使用惠普打印机打印文件? 社保卡制卡进度中出错节点变红什么意思 如何在linux下安装ssl证书? 社保卡查询制长进度为什么显示糸统异常? tomcat8.5之后怎么配置https双向认证 刚办的社保卡出现卡状态异常是怎么回事? 查社保卡制卡进度,出现这情况,是什么意思 tomcat 可以配置https吗》 如何配置tomcat https证书 调用省卡管接口失败 社保卡制卡进度查询看不懂,求专业人士解答,谢谢 tomcat 怎么配置https 查社保卡制卡进度查询 linux 服务器 怎么安装https 证书 交社保显示该人员生存状态异常怎么处理 tomcat怎么配置https协议 我今天去人寿保险面试了,明天让我去培训,但我不想去人寿保险上班了,押金可以退吗 入保险公司后写给家人的一封信怎么写 保险业务员写对爱家人的一封信 保险代理人写给,客户孩子的一封信,写出父母的爱