使用ldap服务器进行身份验证时遇到问题。应用程序代码(.ear)部署在weblogic服务器中。在weblogic服务器中,代码没有与ldap连接,相同的代码设置在tomcat服务器中工作,没有任何问题。注意:有时只是第一次使用weblogic服务器进行身份验证。java版本:java版本“1.7.080”和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协议,它不工作。请对此问题提出建议
1条答案
按热度按时间jrcvhitl1#
根据这个问题,java7默认为tls1.0,如果该协议不被接受,可能会导致您提到的错误。