尝试访问 REST Web 服务(GET 调用)时出现 SSL 错误?
Getting SSL error when tring to hit a REST webservice(GET call)?
当我们尝试访问基于 REST 的 Web 服务时,我的团队遇到了 SSLException。我们正在添加调用网络服务所需的所有 headers。
- 现在我们已经找到了解决问题的临时方法。我们已将安全文件从 Java 8 文件夹添加到 Java 7 文件夹。
- 我们的团队尝试了另一种基于套接字的解决方案,但我不知道它是否适用于更大范围的环境。但也被上级部门拒绝执行
我们发现网络服务基于 java 5。在 java 7 中,一些安全证书不可用,因此我们收到错误。第一个解决方案适用于测试阶段,但不适用于生产目的。
我们面临的实际错误是:
javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
在我们的研究过程中,我们也发现了 this question,并尝试跟进针对此问题给出的每个解决方案。
有没有遇到过类似问题的人给我们提供解决方案,让我们可以在运行时访问webservice动态添加证书。
请post SSL 调试日志?
我曾经遇到过这个问题,原因是远程休息服务仅支持 TLSv1.2 而我们使用的是 TLSv1.1
我们通过在 System.setProperty() 方法中提及 TLSv1.1 协议来调用 rest 服务。
问题出在 Java 版本上。 Java 1.7.51(我们当前的 java 版本)中不存在其余服务命中所需的安全文件。因此,我们没有更改安全文件,而是将 java 版本从 1.7.51 升级到 1.7.80(此版本的 java 包含这些安全文件)。因此没有破坏兼容性,并且在没有解决方法的情况下成功解决了问题。
我们从这个 Whosebug Question.
中得到了这个解决方案的想法
当我们尝试访问基于 REST 的 Web 服务时,我的团队遇到了 SSLException。我们正在添加调用网络服务所需的所有 headers。
- 现在我们已经找到了解决问题的临时方法。我们已将安全文件从 Java 8 文件夹添加到 Java 7 文件夹。
- 我们的团队尝试了另一种基于套接字的解决方案,但我不知道它是否适用于更大范围的环境。但也被上级部门拒绝执行
我们发现网络服务基于 java 5。在 java 7 中,一些安全证书不可用,因此我们收到错误。第一个解决方案适用于测试阶段,但不适用于生产目的。
我们面临的实际错误是:
javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
在我们的研究过程中,我们也发现了 this question,并尝试跟进针对此问题给出的每个解决方案。
有没有遇到过类似问题的人给我们提供解决方案,让我们可以在运行时访问webservice动态添加证书。
请post SSL 调试日志? 我曾经遇到过这个问题,原因是远程休息服务仅支持 TLSv1.2 而我们使用的是 TLSv1.1 我们通过在 System.setProperty() 方法中提及 TLSv1.1 协议来调用 rest 服务。
问题出在 Java 版本上。 Java 1.7.51(我们当前的 java 版本)中不存在其余服务命中所需的安全文件。因此,我们没有更改安全文件,而是将 java 版本从 1.7.51 升级到 1.7.80(此版本的 java 包含这些安全文件)。因此没有破坏兼容性,并且在没有解决方法的情况下成功解决了问题。
我们从这个 Whosebug Question.
中得到了这个解决方案的想法