2.4.5. 迁移信任存储配置


truststore 用于外部 TLS 通信,如 HTTPS 请求和 LDAP 服务器。要使用信任存储,您可以将远程服务器或 CA 的证书导入到信任者中。然后,您可以启动红帽构建的 Keycloak 服务器,指定系统信任存储。

例如,以前的配置如下所示:

<spi name="truststore">
    <provider name="file" enabled="true">
        <properties>
            <property name="file" value="path/to/myTrustStore.jks"/>
            <property name="password" value="password"/>
            <property name="hostname-verification-policy" value="WILDCARD"/>
        </properties>
    </provider>
</spi>

红帽构建的 Keycloak 支持采用以下格式的信任存储: PEM 文件,或带有扩展 .p12 和 .pfx 的 PKCS12 文件。对于 PKCS12 文件,证书必须加密,这意味着不需要密码。需要转换 JKS 信任存储。由于 Java keytool 强制最小密码长度为 6 个字符,因此 openssl 可用作创建未加密的 PKCS12 信任存储的替代选择。

  1. 通过导入旧 JKS 信任存储的内容,使用 keytool 创建一个带有临时密码的 PKCS12 信任存储。

    keytool -importkeystore -srckeystore path/to/myTrustStore.jks \
       -destkeystore path/to/myTrustStore.p12 \
       -srcstoretype jks \
       -deststoretype pkcs12 \
       -srcstorepass password \
       -deststorepass temp-password
  2. 使用 openssl 导出新 PKCS12 信任存储的内容。

    openssl pkcs12 -in path/to/myTrustStore.p12 \
       -out path/to/myTrustStore.pem \
       -nodes -passin pass:temp-password
  3. 使用 openssl 将内容重新导入到新的未加密的 PKCS12 信任存储中。

    openssl pkcs12 -export -in path/to/myTrustStore.pem \
       -out path/to/myUnencryptedTrustStore.p12 \
       -nokeys -passout pass:

    在本例中,生成的 CLI 参数如下:

kc.sh start
    --truststore-paths path/to/myUnencryptedTrustStore.p12
    --tls-hostname-verifier WILDCARD
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部