gpt4 book ai didi

java - UnboundID SASL无法获取密码

转载 作者:行者123 更新时间:2023-12-02 06:54:53 26 4
gpt4 key购买 nike

关于我的另一个问题:UnboundID LDAP DIGEST-MD5 binding cause NPE

我使用 ApacheDS 作为服务器,使用 UnboundID 作为 API。

我按照建议的答案进行操作,NPE 消失了。但是,现在我收到此错误。

LDAPException(resultCode=49 (invalid credentials), errorMessage='INVALID_CREDENTIALS: DIGEST-MD5: cannot acquire password for 'dn:uid=blah,ou=dev,dc=blah,dc=com in realm : mizar.com', diagnosticMessage='INVALID_CREDENTIALS: DIGEST-MD5: cannot acquire password for dn:uid=blah,ou=dev,dc=blah,dc=com in realm : blah.com')
at com.unboundid.ldap.sdk.LDAPConnection.bind(LDAPConnection.java:1881)
at UnboundDemo.main(UnboundDemo.java:40)

代码如下:

  conn = new LDAPConnection("1.1.1.1",389);
mdBind = new DIGESTMD5BindRequest("dn:uid=blah,ou=dev,dc=blah,dc=com", null, "test", "blah.com",null);
bindResult = conn.bind(mdBind);
System.out.println("MD5 bind success!");

以下是 Directory Studio 配置页面中的 ApacheDS SASL 配置:

SASL Host: 1.1.1.1
SASL Principal: ldap/ldap.example.com@EXAMPLE.COM
Search Base Dn: ou=dev,dc=blah,dc=com

ApacheDS 文档没有解释 SASL 主体是什么,所以我开始认为这可能是我的配置错误。这里的主要思想是针对多种 SASL 机制测试 UnboundID。

最佳答案

很可能 ApacheDS 服务器未配置为以允许其确定密码的明文值的格式存储密码。

DIGEST-MD5 和 CRAM-MD5 SASL 机制的主要吸引力在于,密码在发送到服务器之前会与其他信息组合并使用单向摘要进行编码。这可确保密码不会以明文形式传输,从而防止任何人可以观察通信,而无需保护通信的其余部分。但是,使用这些机制之一进行身份验证的能力要求服务器能够确定密码的明文版本,以便它可以执行与客户端相同的加密处理。

如果您只是想测试 UnboundID LDAP SDK 执行 SASL 身份验证的能力,那么我建议使用 PLAIN 机制,因为它不应该对用户条目施加任何特殊要求。如果您确实想使用 DIGEST-MD5,那么您需要确保服务器能够访问需要使用该机制进行身份验证的用户的密码的明文表示形式。

尼尔

关于java - UnboundID SASL无法获取密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com