10.4. 使用自定义 TLS 证书

使用自定义 PKCS12 密钥存储或 TLS 证书/密钥对加密客户端和 Data Grid 集群之间的连接。

先决条件

  • 创建密钥存储或证书机密。

    注意

    该 secret 必须对 OpenShift 集群中的每个 Infinispan CR 实例是唯一的。当您删除 Infinispan CR 时,OpenShift 还自动删除相关的 secret。

流程

  1. 在 OpenShift 命名空间中添加加密 secret,例如:

    oc apply -f tls_secret.yaml
  2. 使用 Infinispan CR 中的 spec.security.endpointEncryption.certSecretName 字段指定加密 secret。

    spec:
      security:
        endpointEncryption:
          type: Secret
          certSecretName: tls-secret
  3. 应用更改。

10.4.1. 自定义加密 secret

添加密钥存储或证书/密钥对到安全 Data Grid 连接的自定义加密 secret 必须包含特定的字段。

密钥存储 secret

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
stringData:
  alias: server
  password: changeme
data:
  keystore.p12:  "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..."

字段描述

stringData.alias

指定密钥存储的别名。

stringData.password

指定密钥存储密码。

data.keystore.p12

添加 base64 编码的密钥存储。

证书 secret

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
data:
  tls.key:  "LS0tLS1CRUdJTiBQUk ..."
  tls.crt: "LS0tLS1CRUdJTiBDRVl ..."

字段描述

data.tls.key

添加 base64 编码的 TLS 密钥。

data.tls.crt

添加 base64 编码的 TLS 证书。