2009-02-19 88 views
1

我通過HTTPS Web服務連接到簡單的XML並獲取安全性異常。我的問題是,你是否認爲這是Web服務器上的證書,所以我應該與服務器管理員通話,或者我的客戶端代碼是否應該處理這個問題。我很想聽聽有沒有人遇到過並解決過這個問題。該解決方案是在客戶端還是服務器端找到的?以下是例外情況。通過HTTPS的簡單Java Web服務客戶端

Caused by: sun.security.validator.ValidatorException: Violated path length constraints 
at sun.security.validator.SimpleValidator.checkBasicConstraints(SimpleValidator.java:243) 
at sun.security.validator.SimpleValidator.checkExtensions(SimpleValidator.java:158) 
at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:143) 
at sun.security.validator.Validator.validate(Validator.java:202) 
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(DashoA12275) 
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(DashoA12275) 

感謝您的任何建議。

回答

0

從堆棧跟蹤中,我猜測這是服務器證書的問題(跟蹤來自「checkServerTrusted」調用)。您可能想嘗試使用Firefox等網絡瀏覽器連接到該URL,以查看是否有SSL錯誤並提供更多詳細信息。

1

這也可能是值得openssl

openssl s_client -connect yourserver.com:443 

退房man頁面的更多選項,第一個測試客戶端。

當您使用網絡瀏覽器訪問它時會發生什麼? Firefox應該爲您提供關於服務器證書的一些信息。

雖然在客戶端證書認證之後this examples確實看起來不像您,但它向您展示瞭如何使用自定義SSLSocketFactory。它也可以靜態設置 - 如果你沒有訪問連接。