--- title: "Easysearch 原生集成国密算法:打造全链路自主可控搜索底座(二)" date: 2026-09-12 lastmod: 2026-09-12 description: "Easysearch集成国密算法,助力打造全链路自主可控搜索底座。本文进行了Easysearch集成国密算法实战。" tags: ["Easysearch", "自主可控"] summary: "从 2.1.0 版本开始,INFINI Easysearch 内置了对国密(SM2/3/4)算法的支持,实现了全链路国密合规,满足等保及商用密码应用安全性评估要求。本篇以 Kylin-Server V11 操作系统和 Easysearch 2.3.0 进行演示。 Linux 主机安装 Tongsuo # Easysearch 基于 铜锁(Tongsuo)提供国密 TLCP 双证书能力,支持 SM2/SM3/SM4 加密套件。下载完 Easysearch 软件包后解压进目录,执行脚本安装铜锁。 bin/install-tongsuo-local.sh --version 8.4.0 安装完后会有提示切换到铜锁。 能正常查看版本信息,说明安装、切换都正常。 一键初始化(单节点 TLCP) # 如需在单节点场景快速完成证书生成、TLCP 配置写入和初始密码设置,可直接使用: EASYSEARCH_INITIAL_ADMIN_PASSWORD='EasysearchP@ssw0rd!' bin/initialize.sh --tlcp -s 执行上面的脚本会自动生成证书,修改 easysearch.yml 证书设置。 启动 Easysearch # 从 Easysearch 的启动日志中可看到国密(Chinese SM algorithms)正常加载,并用来创建 SSLContext 。 客户端:用国密栈访问 # curl 默认链接的 OpenSSL 密码库不支持国密协议(TLCP),因此 curl 访问 Easysearch 服务时加密协议最终回落到标准 TLS 1.3,套件为国际通用的 TLS_AES_128_GCM_SHA256。 用 Easysearch 发行包自带的 bin/tlcp-curl." --- 从 2.1.0 版本开始,INFINI Easysearch **内置了对国密(SM2/3/4)算法的支持**,实现了全链路国密合规,满足等保及商用密码应用安全性评估要求。本篇以 Kylin-Server V11 操作系统和 Easysearch 2.3.0 进行演示。 ## Linux 主机安装 Tongsuo Easysearch 基于 [铜锁(Tongsuo)](https://release.infinilabs.com/easysearch/archive/tongsuo/)提供国密 TLCP 双证书能力,支持 SM2/SM3/SM4 加密套件。下载完 Easysearch 软件包后解压进目录,执行脚本安装铜锁。 ```bash bin/install-tongsuo-local.sh --version 8.4.0 ``` {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/1.png" "" %}} 安装完后会有提示切换到铜锁。 {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/2.png" "" %}} 能正常查看版本信息,说明安装、切换都正常。 {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/3.png" "" %}} ## 一键初始化(单节点 TLCP) 如需在单节点场景快速完成证书生成、TLCP 配置写入和初始密码设置,可直接使用: ```bash EASYSEARCH_INITIAL_ADMIN_PASSWORD='EasysearchP@ssw0rd!' bin/initialize.sh --tlcp -s ``` 执行上面的脚本会自动生成证书,修改 easysearch.yml 证书设置。 {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/4.png" "" %}} {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/5.png" "" %}} {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/6.png" "" %}} ## 启动 Easysearch 从 Easysearch 的启动日志中可看到国密(Chinese SM algorithms)正常加载,并用来创建 SSLContext 。 {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/7.png" "" %}} ## 客户端:用国密栈访问 curl 默认链接的 OpenSSL 密码库不支持国密协议(TLCP),因此 curl 访问 Easysearch 服务时加密协议最终回落到标准 TLS 1.3,套件为国际通用的 TLS_AES_128_GCM_SHA256。 {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/8.png" "" %}} 用 Easysearch 发行包自带的 bin/tlcp-curl.sh 访问 Easysearch,可以看到加密套件是国密 TLS_SM4_GCM_SM3。 {{% load-img "/img/blog/2026/easysearch-native-gm-crypto2/9.png" "" %}} Java 应用默认使用的 OpenJDK 没有内置国密算法支持,所以不能直接走国密加密;要么换成支持国密的 JDK,要么在现有 JDK 中额外引入并注册国密算法实现。 {{% load-img "/img/blog/banner/about_yangf.png" "" %}}