如何使用我们的私钥进行Web服务调用?

问题描述:

我们使用Java 6,JBoss 7.1.1和Spring 3.1.1.RELEASE。我正在尝试编写一个应用程序,用于从公司网站上的WSDL请求数据,然后将该数据写回本地数据库。我们的公司小组要求机器将要请求数据的机密客户证书的公钥(自签名适用于QA),并表示他们将使用该证书将SSL响应发回给我们我们应该使用我们的私钥向他们发送请求。如何使用我们的私钥进行Web服务调用?

我对如何做到这一点毫无头绪。通常我会使用JAX-WS来创建客户端WSDL代码并与Web服务进行通信,并将服务器的公共证书添加到我们的信任存储中。但在这种情况下,我不知道如何告诉Web服务客户机使用请求机器的私钥来加密数据,以便发出WSDL请求。

感谢任何示例代码或其他参考资料。 -

我不知道如何告诉Web服务客户端使用请求机器的私钥来加密数据,以便发出WSDL请求。

这没有意义。没有用私钥进行加密的东西。任何人都可以解密,公钥是错误的公开。让我们希望这不是他们要求的。这很不清楚,但他们很可能要求两件事之一:

  1. 当向他们说SSL时使用客户端证书。你所要做的就是使用包含私钥和证书的密钥库:JSSE将完成剩下的工作。或

  2. 使用您的私钥对请求进行数字签名。有这样的API。

让他们澄清它是哪一个。