LDAP 访问 - javax.naming.CommunicationException:简单绑定失败

LDAP Access - javax.naming.CommunicationException: simple bind failed

我们 运行 在 LDAP SHA-256 迁移后遇到连接 LDAP 服务器的问题。当我们 运行 我们的应用程序处于调试模式时,我们遇到以下异常:

  javax.naming.CommunicationException: simple bind failed: xxxamd.xxx.com:636 [Root exception is java.net.SocketException: Socket is closed]​

我们尝试将以下 .cer 文件添加到我们的应用程序特定的 cacerts 文件中:

  1. GlobalSignRootCA.cer

  2. GlobalSignOrganizationValidationCA-G2.cer

  3. OrganizationValidationCA-SHA256-G2.cer

在 cacerts 中添加上述 .cer 文件后,我们得到不同的异常:

getLdapContactInfo(): javax.naming.CommunicationException: simple bind failed: xxxamd.xxx.com:636 [Root exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Certificate signature validation failed]

服务器:

Perl Web Farm Server

Java版本:

xxxxx@yyyy:~/www $ java -version

java version "1.4.2_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_19-b04)
Java HotSpot(TM) Client VM (build 1.4.2_19-b04, mixed mode)

非常感谢在这方面的任何帮助或建议。

注意:SUN JRE已经在Server级别实现,我们的应用是/cgi-bin/文件夹下的IBM JRE。我们尝试在 /usr/lib/jvm/jre/lib/security/ 下的 "cacerts" 中添加证书(如上所述),但没有任何效果。

我解决了为什么会出现上述异常。以上 3 个 .cer 文件与 Java 1.4.2 不兼容。所以我尝试将我的应用程序指向 Java 1.6 并且问题得到解决。能够从 LDAP 服务器检索信息。

谢谢