第 4 章 配置 TLS
传输层安全性(短:TLS)对于通过安全通道交换数据至关重要。对于生产环境,您不应该通过 HTTP 公开红帽构建的 Keycloak 端点,因为敏感数据是红帽与其他应用程序构建 Keycloak 交换的核心。在本章中,您将了解如何将红帽构建的 Keycloak 配置为使用 HTTPS/TLS。
4.1. 在红帽构建的 Keycloak 中配置 TLS
红帽构建的 Keycloak 可以配置为使用 PEM 格式或 Java Keystore 中的文件加载所需的证书基础架构。当同时配置了两个替代方案时,PEM 文件优先于 Java 密钥存储。
4.1.1. 以 PEM 格式提供证书
当您以 PEM 格式使用一组匹配的证书和私钥文件时,您可以通过运行以下命令来将 Keycloak 的红帽构建配置为使用它们:
bin/kc.[sh|bat] start --https-certificate-file=/path/to/certfile.pem --https-certificate-key-file=/path/to/keyfile.pem
Red Hat build of Keycloak 会在内存中从这些文件创建一个密钥存储,并在之后使用此密钥存储。
4.1.2. 提供 Java 密钥存储
如果没有显式配置密钥存储文件,但 http-enabled
被设置为 false,Red Hat build of Keycloak 会查找 conf/server.keystore
文件。
另外,您可以通过运行以下命令来使用现有的密钥存储:
bin/kc.[sh|bat] start --https-key-store-file=/path/to/existing-keystore-file
4.1.2.1. 设置密钥存储密码
您可以使用 https-key-store-password
选项为密钥存储设置安全密码:
bin/kc.[sh|bat] start --https-key-store-password=<value>
如果没有设置密码,则使用默认 密码
。