簡體   English   中英

為什么在使用spring和CXF時出現bad_certificate錯誤

[英]Why do I get a bad_certificate error when using spring and CXF

我正在使用CXF生成的代碼通過SSL和公司代理連接到遠程Web服務。 通過Java API建立連接並將所有SSL設置設置為系統屬性時,代碼可以正常工作,如下所示。

System.setProperties("https.proxyHost", "myproxy.com");
System.setProperties("https.proxyPort", "8001");
System.setProperties("javax.net.ssl.keyStoreType", "pkcs12");
System.setProperties("javax.net.ssl.keyStore", "C:/keystore.p12");
System.setProperties("javax.net.ssl.keyStorePassword", "keypassword");
System.setProperties("javax.net.ssl.trustStore", "C:/cacerts");
System.setProperties("javax.net.ssl.trustStorePassword", "capassword");

MyWebService_Service ss = new MyWebService_Service(wsdlUrl, SERVICE_NAME);
MyWebService service = ss.getMyWebServicePort();

現在,使用此代碼,我可以調用服務方法,一切都會按預期進行。 當我嘗試使用Spring設置相同的配置時,會出現我的問題,這是我們的首選方法,因為我們已經在廣泛使用Spring。

我的Spring配置:

<!-- relevant snippet from spring context -->

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />

<jaxws:client id="webservice" serviceName="myns:MyWebService" endpointName="myns:MyWebServicePort"
     address="https://bigserver.com:5012/blah/TheWebService"
     serviceClass="com.mycomp.MyWebService" />

<http:conduit name="{myns}MyWebServicePort.http-conduit">
   <http:tlsClientParamenters disableCNCheck="true" secureSocketProtocol="TLS">
      <sec:trustManagers>
         <sec:keyStore type="JKS" password="capassword" file="c:/cacerts" />
      </sec:trustmanagers>
      <sec:keyManagers>
         <sec:keyStore type="pkcs12" password="keypassword" file="c:/keystore.p12" />
      </sec:keyManagers>
   </http:tlsClientParamenters>
   <http:client ProxyServer="myproxy.com" ProxyServerPort="8001" />
</http:conduit>

在這兩種情況下,Web服務客戶端都部署在Web應用程序中。 在第二種情況下,訪問Web服務會導致

javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

編輯:我正在使用CXF版本2.2。

您是否嘗試過將next屬性添加到客戶端參數?

**useHttpsURLConnectionDefaultHostnameVerifier="false"**

看起來像這樣:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM