java - 通过 SSL 的 LDAP 连接不适用于参数 "com.sun.jndi.ldap.connect.timeout"

标签 java ssl ldap

我遇到了我的应用程序无法通过 SSL (LDAPS://ldapserver:636) 连接到 LDAP 服务器的问题。它总是抛出异常:

2014-08-07 12:52:13,486 ERROR : simple bind failed: ldapserver:636
javax.naming.CommunicationException: simple bind failed: ldapserver:636 [Root exception is javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake]

但是删除这行代码后:

environments.put("com.sun.jndi.ldap.connect.timeout", "10000"); 

它有效。谁能解释超时属性如何影响 LDAP SSL 连接?

谢谢, 塞子

最佳答案

在建立 SSL channel 之前,SSL 握手需要一些时间来交换 key /证书。您可以将超时增加到 20 秒/20000 毫秒并检查这是否确实是问题所在。

关于java - 通过 SSL 的 LDAP 连接不适用于参数 "com.sun.jndi.ldap.connect.timeout",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25178664/

相关文章:

java - 具有非阻塞套接字的多线程

linux - 在 GNU/Linux 中使用 OpenSSL 部署应用程序

objective-c - 在 objective-c 中使用客户端证书调用 SOAP WebService

ldap - 具有多个 Ldap 的 wso2Is

perl - 如何从 Perl 使用 Active Directory?

java - 如何使用 spring Security 根据邮件和 uid 从 LDAP 验证用户?

java - 项目中的异常问题

java - 除了我自己的进程之外,还可以查看进程的输出流

java - 寻找在 Java 中检测 AWS Lambda 超时(超时前几秒)并进行测试的方法

php - curl :未知的 SSL 协议(protocol)错误 gcm