2012-02-09 283 views
0

我通過SSL使用遠程服務器上的web服務。遠程服務器不信任tomcat上的verisign證書

遠程服務器有一個Tomcat FE。我們有威瑞信簽署遠程服務器證書和證書鏈是:

 
o:remote.server.com 
i:VeriSign Class 3 Secure Server CA - G3 
i:VeriSign Class 3 Public Primary Certification Authority - G5 

我們加入這個證書到Tomcat的密鑰庫也加入Verisign的這其中中間證書:

 
o:VeriSign Class 3 Public Primary Certification Authority - G5 
i:Class 3 Public Primary Certification Authority 

當我調用web服務從我的服務器我得到的SSL握手異常:

沒有受信任的證書找到

在我的服務器的JVM cacerts上,我擁有「Class 3 Public Primary Certification Authority」,但沒有「VeriSign Class 3公共主認證機構 - G5證書」。

如果我將「VeriSign Class 3公共主認證機構 - G5」證書添加到jvm,那麼我將停止得到例外。然而,我的理解是,Tomcat應鏈接證書,以便當我的服務器獲得遠程證書時,它將看到「第3類公共主要證書頒發機構」作爲根頒發機構。

這是怎麼發生的呢?

+0

你怎麼這些證書添加到您的Tomcat密鑰庫? – Bruno 2012-02-09 14:44:04

+0

檢查這個答案,我很確定它解釋你的問題比我可以[JVM SSL證書問題](http://stackoverflow.com/questions/5758812/the-webserver-i-talk-to-updated-其-SSL-CERT-和現在,我-APP-着的通話到它) – 2012-02-09 14:27:01

回答

1

我終於解決了這個問題。
似乎我們的服務器密鑰庫安裝了多個冗餘證書。一旦我們刪除了冗餘證書並且只剩下服務器證書和ca-chain證書,客戶端就收到了完整的鏈,並且停止了獲取SSL握手例外。

有Verisign頒發一個工具,它幫助我解決此問題
https://ssl-tools.verisign.com/#certChecker

相關問題