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

[经验分享] Tomcat配置SSL认证

[复制链接]

尚未签到

发表于 2017-1-24 07:51:15 | 显示全部楼层 |阅读模式
  大概步骤
  1:通过JAVA自带的keytool生成keystore;
  2:TOMCAT启用HTTPS,并配置keystore;
  3:根据keystore导出客户端的证书文件;
  4:客户端导入证书文件;
  5:测试
  环镜
  jdk:1.7.60 
  tomcat:7.0.52
  客户端和服务端都在本机
  ======================================
  1:用JDK自带的keytool工具生成证书:

keytool -genkey -alias uums -keyalg RSA -keystore d:/keys/uumskeystore
  注:在填CN时:一定要填你的域名,不能是IP地址。tomcat官网手册也有强调,没有域名可以通过修改hosts文件虚拟一个域名,例如:127.0 .0.1  xxx.xxx.com 
  2:配置Tomcat启用 HTTPS

    <!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
  将以上代码注释去掉并修改成:

    <Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443" maxThreads="150"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="D:\keys\uumskeystore" keystorePass="123com"
clientAuth="false" sslProtocol="TLS"/>
  注:keystorepass是你的keystore的密码,port默认是8443我改成443了,请把server.xml中其它8443端口也改过来。
  如果想把通过http访问的请求都跳转到https访问,需要在conf/web.xml里的尾部加入以下配置

    <login-config>  
<auth-method>CLIENT-CERT</auth-method>  
<realm-name>Client Cert Users-only Area</realm-name>  
</login-config>  
<security-constraint>  
<web-resource-collection >  
<web-resource-name >SSL</web-resource-name>  
<url-pattern>/*</url-pattern>  
</web-resource-collection>  
<user-data-constraint>  
<transport-guarantee>CONFIDENTIAL</transport-guarantee>  
</user-data-constraint>  
</security-constraint>
  3:导出客户端证书

keytool -export -file d:/keys/uums.crt -alias uums -keystore d:/keys/uumskeystore
  注意:导出客户证书,是根据刚刚生成的keystore来导出的,所以内容必须要与keystore一至。
  成功导出uusm.crt证书,可以分发给客户应用的JDK使用了。
  4:客户端导入证书

keytool -import -keystore D:/Java/jdk1.7.0_60/jre/lib/security/cacerts -file D:/keys/uums.crt -alias uums
  注:如果提示证书存在可以通过下面的操作删除
  

keytool -delete -trustcacerts -alias uums -keystore D:\Java\jd
k1.7.0_60\jre\lib\security\cacerts
  
  导入成功后,客户端访问服务端就可以通过认证了。
  5:测试略
  总结:
  1:如果在导入或导出证书出现以下错误:[size=1em]keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
  [size=1em]请输入密码:changeit
  2:这里只是为了演示,所以用了JAVA 自带的keytool来生成证书,这些证书,在各大浏览器中是认识不出来的,很多会提示不是安全的证书。如果是商业用途的话,就要花费银子从第三方的证书机构申请。

运维网声明 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-332602-1-1.html 上篇帖子: tomcat 7 配置虚拟目录 下篇帖子: tomcat 配置虚拟主机实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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