当我们尝试点击基于REST的Web服务时,我的团队正面临SSLException。我们正在添加调用Web服务所需的所有标头。
我们发现webservice基于java 5.而在java 7中,一些安全证书不可用,因为我们收到了错误。第一种解决方案适用于测试阶段,但它不适合生产目的。
我们面临的实际错误是:
javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
在我们的研究过程中,我们发现了this question,并尝试跟进为此问题提供的每个解决方案。
那么之前是否有人遇到过类似问题,并为我们提供了应用解决方案,以便我们可以在运行时动态添加这些证书并添加这些证书。
答案 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获得了这个解决方案的想法。