第 10 章 配置可信证书
当红帽构建的 Keycloak 与外部服务通信或具有通过 TLS 的传入连接时,必须验证远程证书,以确保它连接到可信服务器。这是为了防止中间人攻击所必需的。
这些客户端或服务器的证书或签署这些证书的 CA 必须放在信任存储中。然后,将这个 truststore 配置为由红帽构建的 Keycloak 使用。
10.1. 配置 System Truststore
现有的 Java 默认信任存储证书将始终被信任。如果您需要额外的证书,如果有自签名或内部证书颁发机构没有被 JRE 识别,则它们可以包含在 conf/truststores
目录或子目录中。certs 可能位于 PEM 文件中,也可以是名为 .p12
或 .pfx
的 PKCS12 文件。在 PKCS12 中,证书必须为未加密的 - 这代表没有密码。
如果您需要替代路径,请使用 --truststore-paths
选项指定 PEM 或 PKCS12 文件所在的其他文件或目录。路径相对于您启动红帽构建的 Keycloak 的位置,因此推荐使用绝对路径。如果指定了目录,它将递归扫描为 truststore 文件。
包含了所有适用的 certs,信任存储将通过 javax.net.ssl
属性用作系统默认信任存储,并作为红帽构建的 Keycloak 中内部使用的默认信任存储。
例如:
bin/kc.[sh|bat] start --truststore-paths=/opt/truststore/myTrustStore.pfx,/opt/other-truststore/myOtherTrustStore.pem
仍可直接设置您自己的 javax.net.ssl
truststore 系统属性,但建议使用 --truststore-paths
。