2012-03-08 47 views
0

通过HTTPS消费Webservice消费Webservice和2路SSL

我们有一个web服务,我们从我们的最终消费。

Webservice可以在HTTP和HTTPS协议上运行。 使用HTTP没有问题,但如何使用HTTPS访问。

任何人都可以告诉我相同的java代码。我需要在应用程序级别执行此操作。

密钥库和信任库将是必需的,但是如何在java代码中使用并信任它们。

任何帮助将不胜感激。

+2

我认为你需要为你的问题添加一些细节,所以我们确切地知道你在找什么。例如,您是否需要知道如何将证书存入提供的cacerts信任库,或者您是否想知道如何使用除cacerts之外的信任库?另外,您是否已经拥有服务器将收到的客户端证书?你使用Java提供的HTTP类还是Apache? – csturtz 2012-03-08 16:35:45

+0

嗨csturtz ..我有客户证书,我也输入他们。我们正在起诉axis 2 API以使用web服务。我关心的是如何将这些证书用于java代码并进行SSL握手。对于那部分我需要一些java代码。 – 2012-03-09 04:53:05

回答

0

服务器认证部分应该很容易。只需在提供的cacerts信任库中粘贴所需的证书即可。请参阅this documentation了解如何使用keytool与cacerts信任库一起使用。

就客户端身份验证部分而言,我会在Stack Overflow上查看一些其他问题以获取答案或至少一些代码来帮助您开始。这里有一些问题你应该看看:

Creating SSL Client with Axis2/JAVaChoosing SSL client certificate in Java应该是一对夫妇让你看看。

最后,我要提交另一个编辑,在您的问题中添加'axis2'标记。这应该会让更多的人看到具有适当经验的人。

+0

Cacerts部分已成功完成,没有问题。我想要在java代码中加载这些证书,然后在代码中启用2路SSL,这部分我不确定如何开始。我有通过论坛gobe,我有一些基本的想法,我们需要创建SSL上下文/工厂,但不是很清楚。 – 2012-03-09 16:52:30

+0

好的。在您遇到更具体的问题之前,您需要帮助解决问题,但我不确定答案的具体含义。有很多资源(现有的SO问题,教程,博客等)应该为您提供SSL上下文/工厂工作的起点。我认为你在这个问题上的信息不会超过你已有的。这回到你需要更具体的问题。我的建议是自己开始尝试,并在你遇到困难时发布更具体的问题。 – csturtz 2012-03-09 17:04:17

+1

我已经通过几个论坛,了解一点。现在加载密钥库/信任库已经很好了。创建SSLContext,securefacotory我明白了。但最终他们检查了HttpsURLConnection的instanceof,使用它们打开一个连接。但是之后需要写入什么代码。如何在webservice中使用此代码。请在这方面需要一些帮助。即使我没有我可以测试的环境,出于安全原因,我无法通过HTTPS访问web服务。 – 2012-03-12 17:06:09