国密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,值得推荐和试用。

目录
相关文章
|
4月前
|
安全 算法 网络安全
SSL/TLS协议是什么?
SSL/TLS协议是什么?
294 57
|
5月前
|
JavaScript 安全 Java
谈谈UDP、HTTP、SSL、TLS协议在java中的实际应用
下面我将详细介绍UDP、HTTP、SSL、TLS协议及其工作原理,并提供Java代码示例(由于Deno是一个基于Node.js的运行时,Java代码无法直接在Deno中运行,但可以通过理解Java示例来类比Deno中的实现)。
134 1
|
5月前
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
166 0
|
6月前
|
消息中间件 安全 Kafka
Kafka支持SSL/TLS协议技术深度解析
SSL(Secure Socket Layer,安全套接层)及其继任者TLS(Transport Layer Security,传输层安全)是为网络通信提供安全及数据完整性的一种安全协议。这些协议在传输层对网络连接进行加密,确保数据在传输过程中不被窃取或篡改。
455 0
|
7月前
|
安全 网络安全 数据安全/隐私保护
|
8月前
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
|
10月前
|
安全 网络协议 网络安全
SSL协议
SSL协议
157 8
|
10月前
|
安全 算法 应用服务中间件
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 【可验证】 详细描述TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。
4803 2
|
9月前
|
Java 应用服务中间件 程序员
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
|
10月前
|
存储 安全 网络安全
什么是SSL/TLS协议?
【5月更文挑战第14天】什么是SSL/TLS协议?
274 0