2015-04-23 71 views
2

我們在GlassFish 3 Web服務器中運行Java Web應用程序。在Java 6中設置SSL(GlassFish 3服務器)

我們的應用程序連接到LDAP服務器進行身份驗證。現在客戶在SSL上運行LDAP,即ldaps

因此,我們從他們的LDAP服務器獲取證書並將其添加到我們的可信證書中。但是我們仍然有時得到:

exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]

通過LDAP管理的進一步調查,他的話:

「我們增加額外的服務器負載平衡器後面如果他們 信任只是服務器證書,而不是那麼你應該是 遇到這個問題,他們應該信任CA或者不應該 執行任何證書驗證「

這意味着在負載均衡器後面運行着許多LDAP服務器,並且每個服務器都有不同的證書,並且我們只信任一個特定的證書。

現在他們所說的決議是信任CA而不是單個證書。


現在在這一點上我很困惑!

是什麼讓我們可以得到它的CA證書和信任,使該CA頒發任何證書將自動信任的情況下..

如果是的話該怎麼做?

CA證書是從LDAP服務器提取還是我們必須要求?

或者我爲此創建了一個錯誤的思維模型還是存在一個缺少的概念?

什麼是「受信任的根證書」?

回答

0

他們說的是服務器使用通用的CA(如Verisign,Thwate等)進行簽名。所有你需要做的就是相信CA(你通過導入CA的可信根證書來做到這一點)。

您將需要找出哪個CA正在使用,然後檢查您的cacerts文件,看看您是否已經信任CA(顯然,您不會因爲您收到錯誤)。有很多方法可以找出正在使用的CA,但您可以簡單地詢問您的LDAP管理員正在使用哪個CA.一些公司也使用本地CA,這很可能是您的LDAP服務器的設置方式。

相關問題