Jax ws 使用X509服务器身份验证调用JAXWS Web服务的JAXWS客户端

Jax ws 使用X509服务器身份验证调用JAXWS Web服务的JAXWS客户端,jax-ws,Jax Ws,我使用wsdlc ANT任务从wsdl创建了一个JAXWS-webservice,并部署在Weblogic 10.3.0中。我们有Sun one Java Server 7.0,其中安装了Verisign Server证书,并将其配置为将webservice请求转发给weblogic 我使用wsimport-ant任务创建了一个JAXWS客户机来调用Web服务。当使用https URL运行客户端时,我可以在weblogic中看到xml请求,并且webservice已成功处理。但是我在xml请求/

我使用wsdlc ANT任务从wsdl创建了一个JAXWS-webservice,并部署在Weblogic 10.3.0中。我们有Sun one Java Server 7.0,其中安装了Verisign Server证书,并将其配置为将webservice请求转发给weblogic


我使用wsimport-ant任务创建了一个JAXWS客户机来调用Web服务。当使用https URL运行客户端时,我可以在weblogic中看到xml请求,并且webservice已成功处理。但是我在xml请求/响应中找不到x509证书的任何证据。除了使用wsimport生成存根之外,我还需要在客户端执行其他操作吗?仅供参考通过浏览器查看wsdl时,我可以通过浏览器查看证书详细信息。

通过HTTPS连接到WebService的内容,您的客户端和服务器进行x509证书交换。这是在连接级别执行的操作,
wsimport
与此无关。如果希望在该级别上使用x509证书,则需要深入服务器端的/和


或者,您可以降低一个级别:使用HTTP协议连接到服务器,并在SOAP级别上执行加密/签名/身份验证。然后针对Metro/JAX-WS服务,针对Apache CXF,针对Spring安全性,请参考或,具体取决于您将选择的框架。

通过HTTPS连接到WebService的内容,您的客户端和服务器进行x509证书交换。这是在连接级别执行的操作,
wsimport
与此无关。如果希望在该级别上使用x509证书,则需要深入服务器端的/和


或者,您可以降低一个级别:使用HTTP协议连接到服务器,并在SOAP级别上执行加密/签名/身份验证。然后针对Metro/JAX-WS服务,针对Apache CXF,针对Spring安全性,请参考或,具体取决于您将选择的框架。

我能够使用-Djavax.net.debug=all验证SSL握手。我没有修改我的客户端以包含truststore,如果证书由受信任的CA签名,则不需要它。

我能够使用-Djavax.net.debug=all验证SSL握手。我没有修改我的客户端以包含truststore,如果证书由受信任的CA签名,则不需要它。

是的,我们需要在传输级别进行身份验证。当调用webservice时,我们如何验证身份验证是否真的发生了?我相信在SOAP级别上,我们可以看到xml请求中的证书详细信息。请尝试在没有初始化证书存储的情况下运行客户端。它应该失败。服务器端的调试也很有帮助。事实上,我没有初始化任何存储,它也没有失败。所以我认为服务器端没有启用证书,但当我使用https通过浏览器查看wsdl时,我可以通过浏览器窗口查看证书详细信息。在服务器上启用证书只是事情的一半。您需要的是强制使用双向SSL(不仅服务器向客户机提供证书,客户机也向服务器提供证书)。读和。但我的要求是只强制服务器身份验证(服务器提供证书)。是的,我们需要在传输级别进行身份验证。当调用webservice时,我们如何验证身份验证是否真的发生了?我相信在SOAP级别上,我们可以看到xml请求中的证书详细信息。请尝试在没有初始化证书存储的情况下运行客户端。它应该失败。服务器端的调试也很有帮助。事实上,我没有初始化任何存储,它也没有失败。所以我认为服务器端没有启用证书,但当我使用https通过浏览器查看wsdl时,我可以通过浏览器窗口查看证书详细信息。在服务器上启用证书只是事情的一半。您需要的是强制使用双向SSL(不仅服务器向客户机提供证书,客户机也向服务器提供证书)。读和。但我的要求是只强制服务器身份验证(服务器提供证书)