2011-05-09 79 views
1

我連接到Web服務的SSL客戶端驗證客戶端驗證,我設置了密鑰庫由:SSL密鑰和用Java

System.getProperties().setProperty("javax.net.ssl.keyStore", 
            "d:/banking/BankClient/classes/xxcompany/bank/certificate/keystore.jks"); 
System.getProperties().setProperty("javax.net.ssl.keyStorePassword","password"); 

當調用Web服務:

GetAccountBalanceResponse resp = services.getAccountBalance(request); 

,我收到了以下錯誤

WARNING:Cannot connecti with url: https://[redacted] ; reason: javax.xml.soap.SOAPException: Message send failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
Exception in thread "main" java.rmi.RemoteException: ; nested exception is: 
    HTTP transport error: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    at xxcompany.bank.proxy.runtime.ServicesBinding_Stub.getAccountBalance(ServicesBinding_Stub.java:146) 
    at xxcompany.bank.proxy.ServicesPortClient.getAccountBalance(ServicesPortClient.java:48) 
    at xx.bank.client.main(client.java:111) 
Caused by: HTTP transport error: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:174) 
    at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:150) 
    at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:176) 
    at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:113) 
    at xxcompany.bank.proxy.runtime.ServicesBinding_Stub.getAccountBalance(ServicesBinding_Stub.java:130) 
    ... 2 more 

密鑰庫包含客戶端的私人證書,證書是有效的,工作正常,當你sed在瀏覽器中。我應該如何解決它?

非常感謝。

回答