4.6.2.2. 配置单向 TLS


本节中的步骤演示了如何配置单向传输层安全(TLS)来保护 broker-client 连接的安全。

在单向 TLS 中,只有代理提供证书。此证书供客户端用来验证代理。

先决条件

步骤

  1. 为代理密钥存储生成自签名证书。

    $ keytool -genkey -alias broker -keyalg RSA -keystore ~/broker.ks
  2. 从代理密钥存储中导出证书,以便它可以与客户端共享。以 Base64 编码的 .pem 格式导出证书。例如:

    $ keytool -export -alias broker -keystore ~/broker.ks -file ~/broker_cert.pem
  3. 在客户端,创建导入代理证书的客户端信任存储。

    $ keytool -import -alias broker -keystore ~/client.ts -file ~/broker_cert.pem
  4. 以管理员身份登录 OpenShift Container Platform。例如:

    $ oc login -u system:admin
  5. 切换到包含代理部署的项目。例如:

    $ oc project my-openshift-project
  6. 创建用于存储 TLS 凭据的机密。例如:

    $ oc create secret generic my-tls-secret \
    --from-file=broker.ks=~/broker.ks \
    --from-file=client.ts=~/broker.ks \
    --from-literal=keyStorePassword=<password> \
    --from-literal=trustStorePassword=<password>
    注意

    在生成机密时,OpenShift 要求您同时指定密钥存储和信任存储。信任存储密钥通常命名为 client.ts。对于代理和客户端之间的单向 TLS,实际上不需要信任存储。但是,若要成功生成 secret,您需要将 一些 有效的存储文件指定为 client.ts 的值。上一步通过重复使用之前生成的代理密钥文件,为 client.ts 提供 "dummy" 值。这足以生成带有单向 TLS 所需的所有凭证的 secret。

  7. 将 secret 链接到安装 Operator 时创建的服务帐户。例如:

    $ oc secrets link sa/amq-broker-operator secret/my-tls-secret
  8. 在安全接受或连接器的 sslSecret 参数中指定 secret 名称。例如:

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp,openwire
        port: 5672
        sslEnabled: true
        sslSecret: my-tls-secret
        expose: true
        connectionsAllowed: 5
    ...
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.