2.2. 使用 Asymmetric Encryption 配置集群传输


配置 Data Grid 集群,以生成和分发加密 JGroups 消息的 secret 密钥。

流程

  1. 使用证书链创建密钥存储,使 Data Grid 能够验证节点身份。
  2. 将密钥存储放在集群中每个节点的 classpath 上。

    对于 Data Grid Server,您要将密钥存储放在 $RHDG_HOME 目录中。

  3. SSL_KEY_EXCHANGEASYM_ENCRYPT 协议添加到 Data Grid 配置中的 JGroups 堆栈,如下例所示:

    <infinispan>
        <jgroups>
             <stack name="encrypt-tcp" extends="tcp"> 
    1
    
               <SSL_KEY_EXCHANGE keystore_name="mykeystore.jks" 
    2
    
                                 keystore_password="changeit" 
    3
    
                                 stack.combine="INSERT_AFTER"
                                 stack.position="VERIFY_SUSPECT"/> 
    4
    
               <ASYM_ENCRYPT asym_keylength="2048" 
    5
    
                        asym_algorithm="RSA" 
    6
    
                        change_key_on_coord_leave = "false" 
    7
    
                        change_key_on_leave = "false" 
    8
    
                        use_external_key_exchange = "true" 
    9
    
                        stack.combine="INSERT_AFTER"
                        stack.position="SSL_KEY_EXCHANGE"/> 
    10
    
             </stack>
        </jgroups>
        <cache-container name="default" statistics="true">
          <transport cluster="${infinispan.cluster.name}"
                     stack="encrypt-tcp" 
    11
    
                     node-name="${infinispan.node.name:}"/>
       </cache-container>
    </infinispan>
    Copy to Clipboard Toggle word wrap
    1
    创建名为"encrypt-tcp"的安全 JGroups 堆栈,用于扩展 Data Grid 的默认 TCP 堆栈。
    2
    将节点用来执行证书身份验证的密钥存储命名。
    3
    指定密钥存储密码。
    4
    使用 stack.combinestack.position 属性在 VERIFY_SUSPECT 协议后将 SSL_KEY_EXCHANGE 插入到默认的 TCP 堆栈中。
    5
    指定协调器节点生成的 secret 密钥长度。默认值为 2048
    6
    指定 coordinator 节点用来生成 secret 密钥的密码引擎。默认值为 RSA
    7
    配置 Data Grid,以在协调器节点更改时生成并分发新的 secret 密钥。
    8
    配置 Data Grid,以在节点离开时生成和分发新的 secret 密钥。
    9
    配置 Data Grid 节点,以使用 SSL_KEY_EXCHANGE 协议进行证书身份验证。
    10
    使用 stack.combinestack.position 属性在 SSL_KEY_EXCHANGE 协议后将 ASYM_ENCRYPT 插入默认的 TCP 堆栈。
    11
    配置 Data Grid 集群,以使用 secure JGroups 堆栈。

验证

当您启动 Data Grid 集群时,以下日志消息表示集群使用 secure JGroups 堆栈:

[org.infinispan.CLUSTER] ISPN000078: Starting JGroups channel cluster with stack <encrypted_stack_name>
Copy to Clipboard Toggle word wrap

只有在它们使用 ASYM_ENCRYPT 且可以从协调器节点获取 secret 密钥时,数据网格节点才能加入集群。否则,以下信息会写入 Data Grid 日志:

[org.jgroups.protocols.ASYM_ENCRYPT] <hostname>: received message without encrypt header from <hostname>; dropping it
Copy to Clipboard Toggle word wrap

参考

此流程中的 ASYM_ENCRYPT 配置示例显示了常用的参数。如需完整的可用参数集合,请参阅 JGroups 文档。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat