【问题标题】:Java 14 javax.net.ssl.SSLException occurs only on some computers with identical cacerts filesJava 14 javax.net.ssl.SSLException 仅在某些具有相同 cacerts 文件的计算机上发生
【发布时间】:2021-07-06 12:32:37
【问题描述】:

我有一个 Java 14 应用程序,其中一些计算机在尝试访问 https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_1p00.pl 时抛出 javax.net.ssl.SSLHandshakeException 或 javax.net.ssl.SSLException。它对我来说很好,所有计算机都使用相同的 Windows 10 jre(我使用 jlink 构建的)和来自 OpenJDK 14 的相同 cacerts。由于我没有问题,我无法重现和调试。我曾尝试让用户更换其中一台计算机上的 cacerts,但没有任何区别。此外,将相同的 URL 直接粘贴到 Chrome 中也可以。我没有尝试从 Windows 导出证书并重新导入到 cacerts,因为我的 cacerts 可以正常工作,我不知道这会产生什么影响,除非每个 cacerts 都是特定于计算机的,而从修改日期起似乎并非如此。

关于可能导致此问题的原因以及 Java 抛出异常的原因的任何想法。

【问题讨论】:

  • 异常消息是“路径构建失败”还是别的什么?您是否有堆栈跟踪,尤其是任何“由”部分? keytool -printcert -sslserver nomads.ncep.noaa.gov 是否显示正确的证书(由 GoDaddy 颁发)?您可以让应用程序和/或用户设置 sysprop javax.net.debug=ssl:handshake 并捕获(大)输出吗?

标签: java java-14 sslexception cacerts


【解决方案1】:

已解决。特定用户没有更新 jre,只有 jar 文件,并且缺少 jdk.crypto 模块。

【讨论】:

    猜你喜欢
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2014-07-19
    • 2015-02-07
    • 2011-08-08
    • 1970-01-01
    相关资源
    最近更新 更多