在东方通TongWeb中部署国密SSL证书,核心是使用JKS格式的密钥库,并通过管理控制台的  “HTTP通道管理”  进行配置。

一、准备工作

在开始部署前,请确保以下条件已满足:

1.    获取国密证书:从国密CA(如CFCA、华测CA等)获取证书文件包。国密证书通常采用双证书模式,包含加密证书和签名证书。

2.    准备JKS密钥库:TongWeb主要使用JKS格式的密钥库。你需要将获取的国密证书(SM2算法)和私钥导入到一个JKS文件中。

              重要提示:标准的`keytool`可能不支持SM2算法,你可能需要使用支持国密的Java  Cryptography  Extension  (JCE)  安全提供者(如BouncyCastle)。

3.    开放端口:确保服务器上的443端口已开放,并在安全组策略中放行。

二、操作步骤

第一步:生成证书签名请求  (CSR)

如果你还没有证书,需要先为TongWeb生成一个CSR(即P10请求)提交给CA。

      方法一:使用支持国密的OpenSSL  (GmSSL)

        这是推荐的方法,能更好地兼容国密算法。

        bash

          1.  生成SM2私钥

        gmssl  ecparam  -genkey  -name  sm2p256v1  -out  server.key

          2.  生成P10请求

        gmssl  req  -new  -key  server.key  -out  request.p10  -subj  "/C=CN/O=YourCompany/CN=your.domain.com"  -sm3

      方法二:使用Java  KeyTool

        如果你的Java环境已配置好国密Provider,也可以使用`keytool`。

        bash

          1.  生成密钥对并创建JKS密钥库

        keytool  -genkeypair  -alias  server  -keyalg  SM2  -keystore  keystore.jks  -storepass  changeit  -keypass  changeit  -dname  "CN=your.domain.com,  O=YourCompany,  C=CN"

          2.  导出P10请求

        keytool  -certreq  -alias  server  -keystore  keystore.jks  -file  request.p10  -storepass  changeit

  第二步:获取CA签发的证书

将生成的`request.p10`文件提交给你的国密CA机构。CA验证通过后,会给你签发证书文件。你通常会收到一个包含多种格式的压缩包,部署到TongWeb时需要用到其中的  Tomcat文件夹内的证书。

第三步:在TongWeb中部署证书

1.    上传JKS文件:将包含私钥和CA签发证书的JKS文件,上传到TongWeb安装目录的`/conf`文件夹下。

2.    登录管理控制台:登录TongWeb的管理控制台。

3.    导航到HTTP通道管理:在菜单中依次找到并点击  “WEB容器配置”  ->  “HTTP通道管理”。

4.    编辑HTTP通道:在通道列表中找到并点击`tong-http-listener`进行编辑。

5.    配置通道类型与端口:

              将  “HTTP通道类型”  修改为  `HTTPS`。

              将  “监听端口”  修改为  `443`。

6.    配置SSL属性:在页面下方的  “SSL属性”  区域进行证书配置。

              证书类型:选择  `JKS`。

              证书路径:填写JKS文件相对于TongWeb安装目录的路径,例如`conf/your_keystore.jks`。

              证书密码:输入JKS密钥库的密码。

7.    保存并重启:保存所有配置,并重启TongWeb服务使配置生效。

三、验证与测试

部署完成后,可以通过以下方式验证:

      浏览器访问:在浏览器中用  `https://your.domain.com`  访问你的应用,检查证书是否有效。

      命令行验证:使用`openssl`或`curl`命令检查。

        bash

          检查TLS连接和证书信息

        openssl  s_client  -connect  your.domain.com:443  -tlcp      #  若支持TLCP协议

          或

        curl  -v  https://your.domain.com

四、常见问题与排障

      控制台提示“不安全,请更新国密证书”:这通常是TongWeb自带的演示证书过期所致。解决方法是升级到较新版本,或用新版本`conf`目录下的`client.p12`、`EncryptionKey.p12`、`server.keystore`、`server.pem`、`SignKey.p12`五个文件覆盖旧文件,并删除`conf\security\cert.managed`文件后重启。

      浏览器提示“证书不受信任”:因为国密根证书通常不在浏览器默认信任库中,需要手动将CA的根证书导入到浏览器。

      国密算法支持问题:确保你的TongWeb版本支持国密算法套件(SM2/SM3/SM4)。如遇问题,可能需要检查并配置JDK的安全提供者。

      双证书配置:国密标准通常要求双证书(加密和签名)。请根据你的CA和TongWeb版本的具体要求进行配置。

      双向认证(mTLS):如果需要客户端证书认证,可在SSL属性中开启“客户端认证”并配置信任库。

如果问题依旧,建议查阅TongWeb的官方文档或联系东方通的技术支持。