LDAP未连接weblogic

问题描述

使用LDAP服务器进行身份验证时遇到问题。应用程序代码(.ear)部署在WebLogic Server中。在WebLogic Server中,代码未与LDAP连接,并且相同的代码设置在tomcat服务器中正常工作。 注意:有时仅是第一次使用WebLogic服务器进行身份验证。 Java版本:java版本“ 1.7.0_80”和weblogic服务器:10.3.6.0 Keystore运作良好,并且已经通过简单的Java程序进行了测试。

System.setProperty("java.naming.ldap.factory.socket","javax.net.ssl.SSLSocketFactory");
System.setProperty("javax.net.ssl.trustStore","TheKeyStore.keystore");
System.setProperty("javax.net.ssl.keyStorePassword","changeit");
JSSESocketFactory jsseFactory = new JSSESocketFactory(null);
ld = new LDAPConnection(jsseFactory);
ld.connect(host,port);

这是在Weblogic中连接ldap时遇到的异常。

netscape.ldap.LDAPException: JSSESocketFactory.makeSocket XXXXXXXXXXXXXXXXXXXXXXXXXXXX:636,Remote host closed connection during handshake (91); Cannot connect to the LDAP server
at netscape.ldap.factory.JSSESocketFactory.makeSocket(UnkNown Source)
at netscape.ldap.LDAPConnSetupMgr.connectServer(UnkNown Source)
at netscape.ldap.LDAPConnSetupMgr.openSerial(UnkNown Source)
at netscape.ldap.LDAPConnSetupMgr.connect(UnkNown Source)
at netscape.ldap.LDAPConnSetupMgr.access$000(UnkNown Source)
at netscape.ldap.LDAPConnSetupMgr$1.run(UnkNown Source)
at java.lang.Thread.run(Thread.java:662)

我已经检查了TLS协议,但它不起作用。 请为这个问题提供建议

解决方法

根据this question,Java 7默认为TLS 1.0,如果不接受该协议,可能会引起您提到的错误。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...