【问题标题】:KeyCloak error SunCertPathBuilderException: unable to find valid certification path to requested targetKeyCloak 错误 SunCertPathBuilderException:无法找到请求目标的有效证书路径
【发布时间】:2021-04-05 18:44:07
【问题描述】:

在 Keycloak 服务器控制台 > 用户联合 > Ldap

我成功测试到 Windows Active Directory 服务器的连接 - 好的

但在测试身份验证时继续接收错误消息

服务器控制台输出:ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

我已经使用 jdk keytool 实用程序生成了 keystore.jks 文件,并尝试将其放入 c:\Program Files\Java\jdk1.8.0_241\lib\security\cacerts\

但还是有同样的错误。

关于可能导致此错误的原因以及如何修复它的任何建议?

【问题讨论】:

  • 您是否也在您生成的keystore.jks 中添加了一些内容? ldap 服务器的证书可能
  • " 在生成的 keystore.jks 中放一些东西" 我不明白。我只是使用 >keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 365 -keysize 2048 生成密钥库
  • 很可能 keycloak (java) 不信任外部服务器(ssl 证书)。尝试将外部证书导入您的信任库stackoverflow.com/a/36427118/1578780
  • 我应该打开什么 url 来获得这个证书? Keycloak 服务器还是 Windows AD?
  • 我应该打开什么 url 来获得这个证书?密钥斗篷服务器?我通过将证书放入服务器的独立/配置文件夹中启用了密钥斗篷服务器中的 SSL。但单击 URL 字段中的锁定图标我看到“证书不受信任”并下载它被禁用。

标签: security active-directory ldap keycloak keystore


【解决方案1】:

我们都在这里,再次面临着弄清楚这个配置。似乎每次我开始做都会改变。以下是我想分享的一些知识。

keycloak 默认情况下不能与 ldaps 一起使用,必须将证书颁发机构的公钥添加到信任库中。

  1. 要获取公钥https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/export-root-certification-authority-certificate,请在 Windows 广告服务器上以 cmd shell(不要使用 powershell)运行以下命令:certutil -ca.cert ca_name.cer
  2. 现在您的 ca 公钥在 DER 格式的 base64 文本文件中,您需要将其加载到 keycloak 服务器上的密钥库文件中,但它在哪里?过去使用默认位置,然后您必须根据安装类型 Standalone.xml、standalone-ha.xml 或 domain.xml 检查配置文件……这里有一个文件,其中包含在哪里查看配置文件:https://www.keycloak.org/docs/latest/server_admin/。搜索“信任库”
  3. 现在,您可以在您的安装类型的配置文件中找到现有密钥库的位置,或者添加到该位置所在的配置文件中,您可以使用 keytool 实用程序将证书安装到您的信任库使用:keytool -import -file ca_name.cer -keystore path_to_keystore.jks

这在过去对我来说非常有效,虽然我还没有在我的配置文件中添加一个部分,但我还没有成功,我认为可能是 keycloak 现在正在使用指定的不同 jks 文件在名为 https-keystore.jks 的配置文件中。我可以看到该文件,但没有密码,无法查看在其中添加证书是否可以正常工作。

如果我弄明白了,我会尽量记住更新这个帖子。无论如何,我正在努力切换到 kubernetes 风格的安装,它有一种技术可以一劳永逸地使其正常工作......但是,它没有。我目前有一张票,我怀疑它曾经可以工作,但后来发生了一些变化,它也在那里坏了......就像我目前正在使用的最新的 docker 镜像一样。

希望此配置成为 keycloak 的一部分,而不是留给人们自行解决的问题,因为我相信这往往会推开潜在的 Windows AD 用户。祝大家好运。

【讨论】:

    猜你喜欢
    • 2017-12-27
    • 2015-04-04
    • 1970-01-01
    • 2020-03-25
    • 2020-11-25
    • 2020-11-24
    • 2016-11-20
    • 2021-04-14
    • 1970-01-01
    相关资源
    最近更新 更多