天天看点

国密SSL协议之Tomcat集成

背景

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

可生成免费的测试国密双证书。

国密SSL协议之Tomcat集成

提交后保存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组件

国密SSL协议之Tomcat集成

其中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支持

国密SSL协议之Tomcat集成

3)启用极速模式

https://192.168.0.97

,出现错误页面,开启极速模式

国密SSL协议之Tomcat集成

4)访问国密SSL成功

国密SSL协议之Tomcat集成

小结

通过使用国密SSL组件,使得Tomcat自身不做任何编译修改,即可比较简单的支持国密SSL协议,

满足等保等政策合规,确实是一个简单可操作的方法。

www.gmssl.cn

提供了全部免费的测试组件,

并且支持双向国密SSL,支持国密SSL/标准 SSL自适应,也支持Nginx和Apache,值得推荐和试用。