Web services 使用SSL的axis客户端调用

Web services 使用SSL的axis客户端调用,web-services,security,validation,ssl,Web Services,Security,Validation,Ssl,我通过SSL证书使用Axis实现调用Web服务。我使用keytool将证书添加到密钥库中 它显示为证书已添加到密钥库。但是当我运行java程序时,我得到以下异常 AxisFault 错误代码:{}Server.userException 故障子代码: faultString:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.

我通过SSL证书使用Axis实现调用Web服务。我使用keytool将证书添加到密钥库中

它显示为证书已添加到密钥库。但是当我运行java程序时,我得到以下异常

AxisFault
错误代码:{}Server.userException 故障子代码: faultString:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 故障因素: 故障节点: 故障详情: {}stackTrace:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 位于sun.security.ssl.Alerts.GetSSLexeptionUnknown源 位于sun.security.ssl.SSLSocketImpl.fatalUnknown源 位于sun.security.ssl.Handshaker.fatalSEUnknown源 位于sun.security.ssl.Handshaker.fatalSEUnknown源 位于sun.security.ssl.ClientHandshaker.serverCertificateUnknown源 位于sun.security.ssl.ClientHandshaker.processMessage未知源 位于sun.security.ssl.Handshaker.processloop的未知源 位于sun.security.ssl.Handshaker.process\u记录未知源 位于sun.security.ssl.SSLSocketImpl.readRecordUnknown Source 位于sun.security.ssl.SSLSocketImpl.performinialhandshake未知源 位于sun.security.ssl.SSLSocketImpl.startHandshakeUnknown源 位于sun.security.ssl.SSLSocketImpl.startHandshakeUnknown源 a


关于如何在调用webservice Axis时导入SSL证书的任何建议都可能是证书链未正确导入到cacerts文件中。 服务器身份验证部分应该很简单。只需将所需证书粘贴到提供的cacerts信任库中即可


有关使用keytool与cacerts truststore合作的一些信息,请参阅此部分。

谢谢您的建议。我的keytool的问题是我的java程序运行的地方和添加keytool证书的地方不同。现在我可以调用webservices了

通过keytool添加证书的正确方法

keytool-import-alias alias here C:\test\certificate location-keystore C:\Program Files\Java\jre7\lib\security\cacerts


再次感谢:

有人能在这方面指导我吗?我真的被这件事缠住了,不知道如何继续下去