公司项目收尾后,通过压力测试后的安全测试,安全测试后中,对于网络传输中数据加密问题存在安全隐患。需要配置SSL。
简单介绍下SSL协议:SSL或者Secure Socket Layer,是一种允许web浏览器和web服务器通过一个安全的连接进行交流的技术。这意味着将被发送的数据在一端被翻译成密码,传送出去,然后在另一端解开密码,再进行处理。这是一个双向的过程,也就是浏览器和服务器都需要在发送数据之前对它们进行加密。
SSL协定的另一个重要方面是认证(Authentication)。这就是说,在你开始试图通过一个安全连接与一个Web服务器交流的时候,这个服务器会要求你的浏览器出示一组证件,通过“鉴定”的方式来证明这就是你所声明的网站。在某些情况下,服务器还会要求你的web浏览器的认证书,证明你就是你所说的那个人。这就是所知的“客户认证”,尽管实际情况中,更多地用在商务-对-商务(B2B)交易,而不是对个人用户。大多数有SSL功能的web服务器不要求客户认证(Client Authentication)。
简单介绍完后,开始在tomcat上配置SSL的步骤。
前提是:window版本、 jdk1.7_0 、tomcat7.3.0或者 Linux 版本
下面直接步骤开始操作:
第一:Window 上生成keystore公钥(以我自己的环境配置变量)
在 1、/cmd ----> cd C:\Program Files\Java\jdk1.7.0_17\bin
2、
keytool.exe -genkey -alias wsria -keyalg RSA -keystore d:/keys/wsriakey
3、按照提示进行操作如图:
备注:记得记得放置生成的位置,一定记得自己的设置的密码
第二、 Linux 上生成keystore :这个和window的差不多。。。可以参考很多大神的配置。
第三、配置tomcat
打开tomcat---conf ---server.xml中 找到 TSL
打开注释。修改
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/keys/wsriakey"
keystorePass="wsria.com"/>
配置强制跳转https: 在web.xml在中配置
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/index/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
备注:CONFIDENTIAL 这个是表示强制调转,如果不想挑战 改写成none就可以。
访问 https://loaclhost:8443/就可以。
解决一个很烦恼的问题:就是火狐上的一直不显示问题:这个需要你添加一个插件就可以了
操作步骤:1、点击附加组件
2、在插件中搜索框中找 SSL,会出现很多
3、选择一个 CONFIDENTIAL
4、安装之后,就可以解决这个火狐不能访问的问题
至此,tomcat配置SSL就配置完了。可是顺利访问。如果需要优化,可以进一步去研究,双向SSL的配置。