資安

國密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
可生成免費的測試國密雙證書。
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,值得推薦和試用。

Leave a Reply

Your email address will not be published. Required fields are marked *