在尝试点击REST Web服务(GET调用)时出现SSL错误?

时间:2017-03-04 15:45:35

标签: java web-services rest httpurlconnection resteasy

当我们尝试点击基于REST的Web服务时,我的团队正面临SSLException。我们正在添加调用Web服务所需的所有标头。

  • 现在我们已经找到了问题的临时解决方案。我们已将Java 8文件夹中的安全性文件添加到Java 7文件夹中。
  • 我们团队尝试了另外一个基于套接字的解决方案,但我不知道它在更大的背景下。但是上级政府也拒绝执行。

我们发现webservice基于java 5.而在java 7中,一些安全证书不可用,因为我们收到了错误。第一种解决方案适用于测试阶段,但它不适合生产目的。

我们面临的实际错误是:

  • javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair

在我们的研究过程中,我们发现了this question,并尝试跟进为此问题提供的每个解决方案。

那么之前是否有人遇到过类似问题,并为我们提供了应用解决方案,以便我们可以在运行时动态添加这些证书并添加这些证书。

2 个答案:

答案 0 :(得分:0)

请发布SSL调试日志? 我曾经遇到过这个问题,原因是远程休息服务只支持TLSv1.2而我们使用的是TLSv1.1 我们通过在System.setProperty()方法中提到TLSv1.1协议来调用其余服务。

答案 1 :(得分:0)

问题出在Java版本上。 Java 1.7.51 (我们当前的Java版本)中没有提供其他服务所需的安全文件。因此,我们不是更改安全文件,而是将java版本从1.7.51升级到 1.7.80 (此版本的java包含这些安全文件)。因此没有破坏兼容性,并且没有解决方法就成功修复了问题。

我们从StackOverflow Question获得了这个解决方案的想法。