2014-02-27 118 views
2

我想使用SoapUI對內部(使用內部鑄造證書)Web服務運行一些測試。我不確定我是否完全掌握了SSL握手的內容。但是我導出證書端點到.cer文件,然後發射了Java的密鑰工具使用此命令:使用SoapUI測試內部安全的Web服務?

keytool -import -alias ca -file myservice.cer -keystore cacerts –storepass changeit

這是我從another SO question了。然後,我將此信任庫文件(cacerts)添加到SoapUI中的項目屬性中。但是,當我嘗試將WSDL添加到項目中,我仍然得到同樣的錯誤之前:

Error loading [https://myservice?wsdl]: org.apache.xmlbeans.XmlException: 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

我是完全關閉基地?我是否將鏈中的所有證書添加到信任庫?我無法做到這一點,它告訴我,別名已被使用?還是應該從外部信任機構獲得證書?

+1

查看本[回答](http://stackoverflow.com/a/12146838/1788964)到[SO問題](http://stackoverflow.com/questions/6908948/java-sun-security- provider-certpath-suncertpathbuilderexception-unable-to-find)關於您正在獲取的錯誤。那裏的OP使用自簽名證書。 –

+0

謝謝!但仍然沒有工作。我嘗試將鏈中的3個證書添加到現有的密鑰庫中,也添加到新創建的密鑰庫中,並在我的SoapUI項目中引用該密鑰庫,但在嘗試添加WSDL時仍然出現相同的錯誤。 –

+0

我通過添加非安全的WSDL來實現這個功能。事實證明,WSDL可以設置爲可用於HTTP,而在端點上則需要SSL。 –

回答

1

SOAP UI引發異常,因爲您的證書未正確安裝在SOAP UI信任庫中。

要解決上述例外,請按照以下步驟操作。

  1. 出口從密鑰存儲或瀏覽器證書(含公鑰)
  2. 轉到SOAPUI安裝目錄,找到以下目錄\ SmartBear \ soapUI- 4.0.1 \ JRE \ lib \ security中
  3. 導入到cacerts的信任證書存儲區中(這是默認的信任存儲)
  4. 重新啓動SOAP UI和加載WSDL ...

要了解更多關於SSL ......按照下面的鏈接... JSSE documentation