国密SSL协议之Tomcat集成-阿里云开发者社区

开发者社区> 开发与运维> 正文

国密SSL协议之Tomcat集成

简介: Tomcat自身支持标准的SSL协议,但并不支持国密SSL协议。本文描述了Tomcat配置的国密SSL协议(单向)的完整过程,仅供学习和参考之用。

背景

Tomcat自身支持标准的SSL协议,但并不支持国密SSL协议。
本文描述了Tomcat配置的国密SSL协议(单向)的完整过程,仅供学习和参考之用。
特点:Tomcat 无需改动源码、无需重新编译、支持任意版本。

环境

服务器OS是CentOS7.7的64位版本,IP位192.168.0.97,客户端OS是WindowsXP。
JRE是jre-8u212-linux-x64.rpm。
Tomcat是apache-tomcat-9.0.37.tar.gz。
浏览器是360安全浏览器(支持国密)。

国密双证书

1) 生成国密双证书
访问https://www.gmssl.cn
可生成免费的测试国密双证书。
gmssl.cn.png
提交后保存sm2.demo1.gmssl.cn.zip
传到服务器/root/下解压
unzip sm2.demo1.gmssl.cn.zip -d /root/sm2.demo1/
其中/root/sm2.demo1/sm2.demo1.gmssl.cn.both.pfx是PFX格式的国密双证书/私钥文件,默认口令是12345678。

Tomcat部署国密SSL

1) 安装JRE
rpm -i jre-8u212-linux-x64.rpm
2) 部署Tomcat
/root/下解压Tomcat
tar zxfm apache-tomcat-9.0.37.tar.gz
3) 部署Java版本国密SSL组件
下载国密SSL组件
gmssl.cn1.png
其中gmjce.jar和gmjsse.jar放到/usr/java/jre1.8.0_212-amd64/lib/ext/下
gmssl4t.jar/root/apache-tomcat-9.0.37/lib/
4)配置Tomcat
vi /root/apache-tomcat-9.0.37/conf/server.xml
Service下加入

<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
sslImplementationName="cn.gmssl.tomcat.GMSSLImplementation"
sslProtocol="GMSSLv1.1"
keystoreFile="/root/sm2.demo1/sm2.demo1.gmssl.cn.both.pfx"
keystoreType="PKCS12"
keystorePass="12345678">
</Connector>

5)启动Tomcat
/root/apache-tomcat-9.0.37/bin/startup.sh

访问验证

1)下载360安全浏览器
https://se.360.cn
2)开启国密SSL支持
gmssl2.png
3)启用极速模式
访问https://192.168.0.97,出现错误页面,开启极速模式
gmssl1.png
4)访问国密SSL成功
gmssl.png

小结

通过使用国密SSL组件,使得Tomcat自身不做任何编译修改,即可比较简单的支持国密SSL协议,
满足等保等政策合规,确实是一个简单可操作的方法。www.gmssl.cn提供了全部免费的测试组件,
并且支持双向国密SSL,支持国密SSL/标准 SSL自适应,也支持Nginx和Apache,值得推荐和试用。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章