我正在开发一个具有 LDAP 连接性的应用程序。到目前为止,我们只使用 Open JLDAP 库来执行 LDAP 搜索和身份验证。我们有许多成功使用此功能的客户,通过未加密和 SSL 连接连接到 Active Directory 和 Oracle Internet Directory。
我们最近有一个使用 IBM Tivoli Directory 的客户端,当处于标准模式(非 SSL)时,OpenLDAP 库可以很好地连接到该服务器,但是当使用 SSL 时,执行搜索时连接将断开。绑定和读取工作正常。
我们得到的错误是:
LDAPException: Connection lost waiting for results from ldap.host:389 (91) Connect Error java.io.EOFException: BERDecoder: decode: EOF in Identifier
我认为这是 JLDAP 的问题,所以我用 UnboundId LDAP 库替换了我们的代码,除了我遇到了类似的问题。连接仅在执行搜索时断开,仅在 SSL 下。
作为测试,我安装了 Tivoli Directory 的试用版,并启用了 SSL。JLDAP 和 UnBoundID 库都可以针对我的实例正常工作。
Tivoli 上是否有任何配置选项会导致仅在 SSL 下断开连接?
我有一个 LDAP 工具 (jxplorer),它可以通过 SSL 连接和搜索客户端 LDAP 服务器。我认为 jxplorer 使用 JNDI 库进行 LDAP 连接。
我想看看在移植我的 LDAP 代码以使用 JNDI LDAP 代码之前是否还有什么可以尝试的...(可能仍然有同样的问题)。
欢迎提出想法...
谢谢。