我是网络服务的新手。我已经完成了编写客户端代码的任务,该代码将调用在 https 上公开的身份验证 Web 服务。我需要从客户端代码中传递用户名和密码来检查有效用户。我也有 keystore 和 trustore 文件。我不知道如何使用这些文件。谁能指导我并提供示例客户端代码?
我正在使用 Axis 从 wsdl 生成客户端存根。
问候,
维沙尔
我是网络服务的新手。我已经完成了编写客户端代码的任务,该代码将调用在 https 上公开的身份验证 Web 服务。我需要从客户端代码中传递用户名和密码来检查有效用户。我也有 keystore 和 trustore 文件。我不知道如何使用这些文件。谁能指导我并提供示例客户端代码?
我正在使用 Axis 从 wsdl 生成客户端存根。
问候,
维沙尔
当您说 Webservice 和 Axis 时,我认为您是在谈论 SOAP。您可能需要检查Java webservice (soap) 客户端使用证书。
SOAP 是基于 HTTP 的协议。如果您希望它通过 SSL,它将在 HTTPS 上。
如果您可以访问 URL,那么您需要添加证书。
.cer
格式保存证书命令:
$ keytool -import -noprompt -trustcacerts -alias ALIASNAME -file FILENAME_OF_THE_INSTALLED_CERTIFICATE -keystore PATH_TO_CACERTS_FILE -storepass PASSWORD
参考: http ://docs.oracle.com/javase/tutorial/security/toolsign/rstep2.html
轴1还是轴2?无论如何..如果只是https,您需要导入证书,并且根据您调用的服务器的策略,您可能也必须向自己出示证书.....
在这里查看https://axis.apache.org/axis2/java/rampart/samples.html以获取有关基本身份验证的信息和示例。
至于向传出请求添加证书,您需要按照以下方式执行操作:
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "keystore.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
System.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
System.setProperty("javax.net.ssl.keyStore", "client.p12");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
如果您的通信是通过代理进行的,请格外小心。