在基于 Java 的应用程序中启用 LdapEnforceChannelBinding

pas*_*bsb 6 java kerberos ldap gssapi

Microsoft 引入了“LdapEnforceChannelBinding”选项,要求客户端提供通道绑定信息,以便通过 SSL/TLS 连接到 AD。在 AD 中启用此功能后,使用 Kerberos/LDAP 身份验证的 Java 应用程序会收到来自服务器的以下错误。

javax.naming.AuthenticationException: [LDAP: error code 49 - 80090346: LdapErr: DSID-0C09056D, comment: AcceptSecurityContext error, data 80090346, v2580 
Run Code Online (Sandbox Code Playgroud)

我的代码使用 LoginContext 与 GSSAPI 安全机制进行身份验证和 DirContext。

有没有办法在 Java 代码中启用通道绑定来解决这个问题?

小智 3

这是 OpenJDK 的一个已知问题,据说已在 JDK 16 中实现,该版本处于早期访问阶段,但计划向后移植到 JDK 8,尽管我还没有让它工作。

这是错误报告:https://bugs.openjdk.java.net/browse/JDK-8245527

请参阅我的问题以了解更多详细信息。LDAPS 通道与 GSS 绑定