设为首页 收藏本站
查看: 242|回复: 0

[经验分享] TOMCAT配置HTTPS生成单向证书问题

[复制链接]

尚未签到

发表于 2017-1-23 08:36:22 | 显示全部楼层 |阅读模式
第一步:为服务器生成证书
使用keytool 为 Tomcat 生成证书,假定目标机器的域名是“ localhost ”, keystore 文件存放在“ C:\tomcat.keystore ”,口令为“ password ”,使用如下命令生成:

keytool -genkey -v -alias tomcat -keyalg RSA -keysize 2048  -validity 3650  -keystore c:\tomcat.jks -dname "CN=221.133.237.236,OU=cn,O=cn,L=cn,ST=cn,c=cn" -storepass alipay2POS -keypass alipay2POS


生成csr文件用于提交CA认证生成证书使用

keytool -certReq -alias tomcat  -keystore c:\tomcat.jks -file c:\mm.csr


这个tomcat.cer是为了解决不信任时要导入的

keytool -export -alias tomcat -keystore c:\tomcat.keystore -file c:\tomcat.cer -storepass password

查看jks

keytool -list -v -file c:\tomcat.jks
keytool -list -v -keystore keystore


第四步:配置Tomcat 服务器
打开Tomcat 根目录下的 /conf/server.xml ,找到如下配置段,修改如下:

1.<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"   
2.  
3.               maxThreads="150" scheme="https" secure="true"   
4.  
5.    clientAuth="false" sslProtocol="TLS"   
6.  
7.    keystoreFile="C:/tomcat.keystore" keystorePass="password" >   
特别需要注意的是:protocol里面的值.如果用http 1.1,那么https的链接就会打不开.这也是我后期订正的

应用程序的web.xml 可以加上这句话: 具体web系统
1.<login-config>   
2.  
3.<!-- Authorization setting for SSL -->   
4.  
5.<auth-method>CLIENT-CERT</auth-method>   
6.  
7.<realm-name>Client Cert Users-only Area</realm-name>   
8.  
9.</login-config>   
10.  
11.<security-constraint>   
12.  
13.<!-- Authorization setting for SSL -->   
14.  
15.<web-resource-collection >   
16.  
17.<web-resource-name >SSL</web-resource-name>   
18.  
19.<url-pattern>/*</url-pattern>   
20.  
21.</web-resource-collection>   
22.  
23.<user-data-constraint>   
24.  
25.<transport-guarantee>CONFIDENTIAL</transport-guarantee>   
26.  
27.</user-data-constraint>   
28.  
29.</security-constraint>   
到这里启动tomcat,输入 https://localhost:8443/
这时再打开会弹出一个提示框:证书不可信任,有一个警告,说什么需要机构颁发。
这时再双击第一步生成的tomcat.cer。一直下一步,最后选“是”。
导入后,再输入地址就不是提示了。直接转向tomcat的猫页,说明成功了。

这时候如果用程序去访问可能还会抛证书不信任的异常(sun.security.validator.ValidatorException: PKIX path building failed... ),需要将生成的证书(tomcat.cer )
导入到jdk中

keytool -import -alias tomcatsso -file "c:\tomcat.cer" -keystore "D:\java\jdk1.6.0_11\jre\lib\security\cacerts" -storepass changeit

其中changeit是jre默认的密码。
如果抛 No subject alternative names present 请在生成keystore 注意CN必须要为域名(或机器名称)例如 localhost 不能为IP
如果抛 No name matching localhost found 表示你生成keystore CN的名称和你访问的名称不一致

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332232-1-1.html 上篇帖子: jbpm4.4 demo.setup.tomcat 安装小结 下篇帖子: Tomcat整体架构分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表