You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ignite SSL配置XML中加密存储keyStorePassword与trustStorePassword

Ignite SSL配置密码加密存储解决方案

有两种成熟的可行方案可以实现keyStorePassword和trustStorePassword的加密存储,无需在XML中明文写入密码:

方案1:扩展原生SslContextFactory实现解密

直接继承Ignite官方提供的SslContextFactory,重写密码设置方法,在内部完成加密密码的解密逻辑即可:

  • 首先编写自定义SSL上下文工厂类,内置解密逻辑:
import org.apache.ignite.ssl.SslContextFactory;

public class EncryptedSslContextFactory extends SslContextFactory {
    // 解密密钥建议从环境变量、保密配置中心读取,不要硬编码在代码中
    private static final String DECRYPT_KEY = System.getenv("IGNITE_SSL_DECRYPT_KEY");

    @Override
    public void setKeyStorePassword(String encryptedPwd) {
        // 调用自定义对称解密工具类,把密文解密为明文
        String plainPwd = AESUtil.decrypt(encryptedPwd, DECRYPT_KEY);
        super.setKeyStorePassword(plainPwd.toCharArray());
    }

    @Override
    public void setTrustStorePassword(String encryptedPwd) {
        String plainPwd = AESUtil.decrypt(encryptedPwd, DECRYPT_KEY);
        super.setTrustStorePassword(plainPwd.toCharArray());
    }
}
  • 修改XML配置,替换为自定义工厂类,密码字段填写加密后的密文:
<property name="sslContextFactory">
    <bean class="com.yourcompany.config.EncryptedSslContextFactory">
        <property name="keyStoreFilePath" value="keystore/node.jks"/>
        <property name="keyStorePassword" value="这里填AES加密后的密文"/>
        <property name="trustStoreFilePath" value="keystore/trust.jks"/>
        <property name="trustStorePassword" value="这里填AES加密后的密文"/>
        <property name="protocol" value="TLSv1.3"/>
    </bean>
</property>

方案2:结合Spring配置加密能力

如果你的项目是基于Spring/Spring Boot加载Ignite配置,可以直接使用Jasypt等Spring生态的加密工具:

  • 引入Jasypt依赖后,把加密后的密码以ENC(密文)格式存入Spring配置文件
  • XML配置直接引用解密后的属性即可,Spring会自动完成解密注入:
<property name="keyStorePassword" value="${ignite.ssl.key-store-password}"/>
<property name="trustStorePassword" value="${ignite.ssl.trust-store-password}"/>

注意事项

  • 解密密钥禁止和配置文件存放在同一位置,生产环境建议存储在操作系统环境变量、K8s Secret、内部保密配置中心等位置
  • 加密算法使用成熟的AES、SM4等标准对称加密算法即可,不要自行实现加密逻辑
  • 以上方案适配Apache Ignite 2.x全系列版本,无需修改核心依赖

内容的提问来源于stack exchange,提问作者Stas Shvarzman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 09:18:02