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

[经验分享] Tomcat配置SSL安全协议

[复制链接]

尚未签到

发表于 2017-1-20 08:21:04 | 显示全部楼层 |阅读模式
  Tomcat配置SSL安全协议

文档说明:本文件适用于用JSSE设置Tomcat的SSL。 如果使用APR, Tomcat是通过 OpenSSL来实现SSL,设置会不同。
  
一、SSL简介

在网络上,信息在由源主机到目标主机的传输过程会经过其他计算机,网络上的信息有可能被非法分子监听,从而导致个人隐私泄露。随着电子商务的发展,对信息安全的要求越来越高,于是Netscape公司提出了SSL(Server Socket Layer)协议,旨在达到在开放网络(Internet)上安全、保密地传输信息的目的。
SSL是一种保证网络上的两个节点进行安全通信的协议,建立在SSL协议上的HTTP被称为HTTPS协议。HTTPS使用的默认端口是443。SSL采用加密技术来实现安全通信,保证通信数据的保密性和完整性,并且保证通信双方可以验证对方的身份。
加密技术的基本原理是:数据从一端发送到另一端,发送者先对数据加密,然后再把它发送给接受者。这样,在网络上传输的是经过加密的数据,如果有人非法截获了这批数据,由于没有解密的密钥,就无法获得真正的原始数据。接收者收到加密的数据后,先对数据解密,然后再处理。
SSL通过安全证书来证明客户或服务器的身份。当客户通过安全的连接和服务器通信时,服务器会先向客户出示它的安全证书,而每一个证书在世界范围内都是唯一的。
为了扩大用户群,一些服务器向客户出示证书后,并不要求客户出示安全证书,但在某些情况下,服务器也会要求客户出示安全证书,以便核实该客户的身份。
  
二、安全证书的获取方式

安全证书的获得有两种方式:
1、从权威机构获得证书
Certificate Authority,CA和VeriSign和Thawte,它们保证了证书的可信性。申请证书时,需要付费,且一个证书只针对一个IP有效。
2、创建自我签名的证书
如果只关心数据在网络上的安全传输,而不需要对方身份验证,可以创建自我签名的证书。与权威机构颁发的证书采用的加密技术是一样的。
  
三、为Tomcat配置SSL安全协议(这种方式只适合安装版的)

可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤:
1、准备安全证书
2、配置Tomcat的SSL连接器(Connector)
  
3.1创建自我签名的证书

SUN公司提供了制作证书的工具keytool。在JDK1.4以上版本中都包含了这一工具。通过这个工具生成证书的命令为:
keytool-genkey -alias tomcat -keyalg RSA
以上命令将生成包含一对非对称密钥和自我签名的证书,这个命令中参数的意思
-genkey:生成一对非对称密钥。
-alias:指定密钥对的别名,该别名是公开的。
-keyalg:指定加密算法,此处采用通用的RSA算法。
以上命令将在操作系统的用户目录下生成名为”.keystore”的文件。
如果希望生成的keystore文件放在其他目录中,可以使用-keystore参数
keytool-genkey -alias tomcat -keyalg RSA -keystore d:\.keystore
使用keytool工具生成证书的界面如图1-1所示:
http://hiphotos.baidu.com/aimilin/pic/item/87093f128ea29bf46438db0e.jpg

图1-1 使用keytool工具生成证书
生成的证书文件“[系统用户目录下]\.keystore”如图1-2所示:
http://hiphotos.baidu.com/aimilin/pic/item/a99a7d594d513df5810a1818.jpg
 
图1-2使用keytool生成的证书
  
3.2使用keytool工具注意事项:

1. 默认情况下.keystore文件存放在 [用户目录下] 
2. 在执行keytool命令式可以使用-keystore参数指定.keystore文件的生成目录
  
3.3 Tomcat配置SSL连接器

1. 在Tomcat的【catalina_path】\conf\server.xml文件中,已经提供了现成的配置SSL连接器的代码,只要把注释去掉即可



<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\Tools\Web\ssl\tomcat.keystore"
keystorePass="tomcat"
ciphers="tomcat"/>

属性描述
clientAuth如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证
keystoreFile指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME>(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。
keystorePass指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。
sslProtocol指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。
ciphers指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。

 
2.Connector其他属性:
keystoreFile:指定keystore文件的存放位置,可以指定绝对路经。如果此项没有设定,在默认情况下,Tomcat将从当前操作系统用户的用户名目录下读取名为”.keystore”的文件
keystorePass:指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用”changeit”密码。
3.使用SSL协议访问Tomcat
使用所示的界面:
http://hiphotos.baidu.com/aimilin/pic/item/d2093cee14c6f59bce1b3eea.jpg
 
图1-3不信任的证书
当我们点击仍然继续可见看见所有的连接都是Https开头的
http://hiphotos.baidu.com/aimilin/pic/item/a2129c4faaf0c4bed0c86a19.jpg
 
图1-4成功页面示意图

运维网声明 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-330891-1-1.html 上篇帖子: 实用的TOMCAT插件 下篇帖子: tomcat部署多域名网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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