首页 > 解决方案 > 将 Keycloak 用作 WSO2 身份服务器的联合身份提供者时出现 SSL 错误

问题描述

我在独立模式下运行 Keycloak 实例。我已将 Keycloak 配置为 WSO2 IS 中的 OIDC 联合 IdP,并将 WSO2 IS 配置为 Keycloak 中的客户端。我还有一个正在运行的应用程序,它连接到 WSO2 IS 并使用 Keycloak 进行联合身份验证。我可以毫无问题地登录应用程序,但是当我尝试从应用程序注销时,Keycloak 中会发生注销但 Keycloak 控制台中出现以下错误,

[org.keycloak.services] (default task-17) KC-SERVICES0057: Logout for client 'WSO2-IS' failed: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我尝试创建一个密钥库,standalone/configuration/application.keystore并将 WSO2 IS 的证书导入到它,并将 Keycloak 的证书导入到 WSO2 IS 密钥库。但它没有用。(请注意,即使在服务器启动后,application.keystore它也不在该位置。)standalone/configuration/

我还按照本指南设置了密钥库,但似乎没有任何效果。

我在这个设置中缺少什么吗?

标签: sslkeycloakwso2iskeystoresslhandshakeexception

解决方案


修复了检查 Keycloak 信任库中的证书后的问题。

原因:未正确导入 WSO2 IS 的证书,未正确配置信任库。


推荐阅读