gpt4 book ai didi

ssl - 使用一些 JDK 重置 Java TLS 连接

转载 作者:行者123 更新时间:2023-11-30 06:51:19 27 4
gpt4 key购买 nike

OWASP 依赖项检查项目有一个 Unresolved 票证 (#561),我无法重现或弄清楚到底发生了什么。在某些使用 OpenJDK HTTPS 连接到 NVD CVE 数据源 (https://nvd.nist.gov/download/nvdcve-Modified.xml.gz) 的系统上失败。具体来说,它们会因 java.net.SocketException: Connection reset 而失败。我无法在我拥有的任何系统上重现该问题 - 任何 JRE/JDK 安装似乎都可以在我的系统(ibm、oracle、open jdk)上运行。

可以找到 TLS 连接失败的系统的 SSL 调试日志要点 here .谁能阐明为什么某些安装的 HTTPS 下载失败?当人们遇到 openJDK 问题并安装 Oracle JDK 时,下载工作正常。

谢谢!

--杰里米

最佳答案

根据 ssllabs test用于下载的站点 nvd.nist.gov 仅支持 TLS1.1 和 TLS1.2,只有少数密码:

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)

将此信息与您链接的日志要点进行比较,您可以看到对于每个提到的密码套件,Java 报告“忽略不可用的密码套件”。

因此连接总是会失败,因为服务器和客户端没有可用于加密 TLS 连接的共同密码。

从我的角度来看,我会假设使用的 OpenJDK 是在没有椭圆曲线支持的情况下编译的,或者具有禁止使用这些密码的无效配置。

因此是使用的 OpenJDK 版本的配置或构建问题。

编辑:可能与以下问题相关:

关于ssl - 使用一些 JDK 重置 Java TLS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40305004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com