第 12 章 配置可信证书
当红帽构建的 Keycloak 与外部服务通信或通过 TLS 有传入连接时,必须验证远程证书以确保它连接到可信服务器。这是为了防止中间人攻击所必需的。
这些客户端或服务器的证书或签署这些证书的 CA 必须放在信任存储中。然后,红帽构建的 Keycloak 将使用此信任存储。
12.1. 配置系统信任存储
现有的 Java 默认信任存储证书将始终被信任。如果您需要额外的证书,如果您有未经 JRE 可识别的自签名或内部证书颁发机构,则这些证书将包含在 conf/truststores
目录或子目录中。certs 可以在 PEM 文件中,或者 PKCS12 文件,扩展为 .p12
或 .pfx
。在 PKCS12 中,证书必须是未加密的 - 表示不需要密码。
如果您需要替代路径,请使用 --truststore-paths
选项指定 PEM 或 PKCS12 文件所在的其他文件或目录。路径相对于您启动红帽构建的 Keycloak 的位置,因此推荐使用绝对路径。如果指定了目录,则会对信任存储文件进行递归扫描。
包含了所有适用的证书后,信任存储将通过 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-path
。