第 10 章 为出站请求配置可信证书


当红帽构建的 Keycloak 通过 TLS 与外部服务通信时,必须验证远程服务器的证书,以确保它连接到可信服务器。这是为了防止中间人攻击所必需的。这些远程服务器的证书或签署这些证书的 CA 必须放在信任存储中。此信任存储由 Keycloak 服务器管理。

在安全地连接到身份代理、LDAP 身份提供程序、发送电子邮件和与客户端应用程序的后端通道通信时,使用 truststore。当您要更改服务器验证和信任主机名的策略中时,它也很有用。

默认情况下,不会配置信任存储提供程序,任何 TLS/HTTPS 连接都回退到标准 Java Truststore 配置。如果没有建立信任,则这些传出请求将失败。

10.1. 配置红帽构建的 Keycloak Truststore

您可以输入以下命令添加信任存储配置:

bin/kc.[sh|bat] start --spi-truststore-file-file=myTrustStore.jks --spi-truststore-file-password=password --spi-truststore-file-hostname-verification-policy=ANY

以下是此设置的可能配置选项:

file
Java 密钥存储文件的路径。TLS 请求需要一种方法来验证它们要与之对话的服务器的主机。这是信任存储的作用。密钥存储包含一个或多个可信主机证书或证书颁发机构。此 truststore 文件应该只包含您的安全主机的公共证书。如果定义了其中任何属性,则这是 REQUIRED
password
密钥存储的密码。如果定义了其中任何属性,则此选项为 REQUIRED
hostname-verification-policy

对于 HTTPS 请求,这个选项验证服务器证书的主机名。默认: WILDCARD

  • ANY 表示主机名不会被验证。
  • WILDCARD 允许在子域名称中通配符,如 Iffoo.com。
  • 使用 STRICT 时,通用名称(CN)必须与主机名完全匹配。

    请注意,此设置不适用于 LDAP 安全连接,这需要严格的主机名检查。

type
信任存储的类型,如 jkspkcs12bcfks。如果没有提供,会根据 truststore 文件扩展或平台默认类型检测到类型。

10.1.1. truststore 配置示例

以下是信任存储的示例配置,允许您创建对所有 mycompany.org 域及其子域的信任连接:

bin/kc.[sh|bat] start --spi-truststore-file-file=path/to/truststore.jks --spi-truststore-file-password=change_me --spi-truststore-file-hostname-verification-policy=WILDCARD
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.