ServerHelloDone之后不会发生ClientKeyExchange

时间:2018-05-10 09:10:01

标签: java ssl

我有两台笔记本电脑在运行相同的项目。两个实例都配置为使用Java JDK 6(相同的次要版本)。但是,一台计算机无法连接到远程REST服务。通过使用-Djavax.net.debug=all选项运行应用程序,我得出结论,问题出在 ClientKeyExchange 步骤,因为在有问题的笔记本电脑上不会发生此步骤。

A post in the IBM developer community表示“正在使用的硬件加密设备不在受支持的列表中”。但是我对“硬件加密设备”一无所知。

我能说的是“启用密码套件”,“排除密码套件”,“密码套件已设置为”通过-Djavax.net.debug=all打印的列表在两台机器上都是相同的。

使用JDK cacerts。

1 个答案:

答案 0 :(得分:1)

找到解决方案。项目正在使用JAX-RS,因此通过该框架调用外部服务,因此我无法挖掘问题,因为没有错误。所以我尝试了不同的方法:尝试使用显示javax.net.ssl.HttpsURLConnection的简单java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b来访问该服务,因此我更改了local_policy.jarUS_export_policy.jar文件(感谢@Charlie { {3}})

我想我已经改变了第一台笔记本电脑上的政策罐,忘了在新笔记本电脑上这样做。