我們正在運行到連接LDAP服務器的問題後,LDAP SHA-256移民。我們得到了以下異常,當我們運行在調試模式下的應用程序:LDAP訪問 - javax.naming.CommunicationException:簡單綁定失敗
javax.naming.CommunicationException: simple bind failed: xxxamd.xxx.com:636 [Root exception is java.net.SocketException: Socket is closed]
我們試圖下面.CER文件添加到我們的應用程序特定的cacerts文件:
GlobalSignRootCA.cer
GlobalSignOrganizationV alidationCA-G2.cer
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農場服務器
Java版本:
[email protected]:~/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已在服務器級別實施,我們的應用程序是位於/cgi-bin/
文件夾下的IBM JRE。我們嘗試在/usr/lib/jvm/jre/lib/security/
的「cacerts」中添加證書(如上所述),但沒有任何工作。
我的直覺是這與驗證證書頒發機構有關。特別是如果您的LDAP無法訪問Internet。在這種情況下,您必須在認證樹上安裝證書。 http://en.wikipedia.org/wiki/Root_certificate – defectus
謝謝Defectus。我解決了這個問題。這個問題與Java版本有關。 – Esh