1

我是网络服务的新手。我已经完成了编写客户端代码的任务,该代码将调用在 https 上公开的身份验证 Web 服务。我需要从客户端代码中传递用户名和密码来检查有效用户。我也有 keystore 和 trustore 文件。我不知道如何使用这些文件。谁能指导我并提供示例客户端代码?

我正在使用 Axis 从 wsdl 生成客户端存根。

问候,

维沙尔

4

3 回答 3

0
  1. 当您说 Webservice 和 Axis 时,我认为您是在谈论 SOAP。您可能需要检查Java webservice (soap) 客户端使用证书

  2. SOAP 是基于 HTTP 的协议。如果您希望它通过 SSL,它将在 HTTPS 上。

  3. 如果您正在研究 JSR-311 的 RESTful 实现,例如CXFjersey等,您可以在他们的网站上找到示例。

于 2012-10-05T11:04:31.570 回答
0

如果您可以访问 URL,那么您需要添加证书。

  • 访问 URL 并单击锁定图标以查看证书。
  • 转到证书的详细信息选项卡并以 Base64.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

于 2012-10-08T10:43:44.757 回答
0

轴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");

如果您的通信是通过代理进行的,请格外小心。

于 2015-05-31T21:05:09.720 回答