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

目录
相关文章
|
14天前
|
算法 小程序 网络安全
阿里云WoSign SSL证书,RSA和国密有什么区别?_沃通SSL技术文档
阿里云WoSign品牌SSL证书为用户提供国密合规SM2算法SSL证书、全球信任RSA算法SSL证书,全球信任、国密合规,能够满足阿里云平台用户不同的SSL证书应用需求。那么阿里云WoSign SSL证书分别提供的RSA算法和国密算法,有什么区别呢?
571 6
|
1月前
|
JavaScript 安全 Java
谈谈UDP、HTTP、SSL、TLS协议在java中的实际应用
下面我将详细介绍UDP、HTTP、SSL、TLS协议及其工作原理,并提供Java代码示例(由于Deno是一个基于Node.js的运行时,Java代码无法直接在Deno中运行,但可以通过理解Java示例来类比Deno中的实现)。
57 1
|
2月前
|
消息中间件 安全 Kafka
Kafka支持SSL/TLS协议技术深度解析
SSL(Secure Socket Layer,安全套接层)及其继任者TLS(Transport Layer Security,传输层安全)是为网络通信提供安全及数据完整性的一种安全协议。这些协议在传输层对网络连接进行加密,确保数据在传输过程中不被窃取或篡改。
135 0
|
3月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
74 3
|
3月前
|
安全 网络安全 数据安全/隐私保护
|
3月前
|
jenkins 持续交付 开发工具
自动化开发之旅:Docker携手Jenkins,与Git和Tomcat共舞持续集成
【8月更文挑战第13天】在软件开发中,持续集成(CI)通过自动化构建、测试与部署提升效率与稳定性。Docker、Jenkins、Git和Tomcat构成CI的黄金组合:`git push`触发Jenkins作业,利用Docker确保环境一致性,最终将应用部署至Tomcat。首先配置Git Webhooks以触发Jenkins;接着在Jenkins中创建作业并使用Docker插件模拟真实环境;通过Maven构建项目;最后部署至Tomcat。这套流程减少人为错误,提高开发效率,展示了技术的力量与流程的革新。
84 0
|
4月前
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
|
5月前
|
XML Java 应用服务中间件
Tomcat项目创建 以及 在IDEA当中集成Tomcat
Tomcat项目创建 以及 在IDEA当中集成Tomcat
|
5月前
|
应用服务中间件
|
5月前
|
Java 应用服务中间件 程序员
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)