You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从java.net下载OpenJDK12遇证书匹配问题求助

解决wget下载OpenJDK 12时的证书不匹配问题

我之前也碰到过一模一样的情况!当时用wget拉取OpenJDK 12安装包时,突然弹出证书所有者和download.java.net不匹配的错误,查了半天发现是Oracle那边CDN的证书配置出了小问题,给你几个实用的解决办法:

1. 临时绕过证书检查(紧急下载用)

如果只是想先把文件下下来,可以给wget加个跳过证书验证的参数,命令如下:

wget --no-check-certificate https://download.java.net/java/GA/jdk12.0.1/69cfe15208a647278a19ef0990eea691/12/GPL/openjdk-12.0.1_linux-x64_bin.tar.gz

⚠️ 注意:这个方法会跳过证书校验,有一定安全风险,下载完成后一定要校验文件的哈希值(可以去OpenJDK官方发布页找对应版本的哈希值比对)。

2. 刷新本地DNS缓存

有时候是DNS解析到了配置错误的旧节点,刷新缓存后就能连到正确的服务器:

  • 用systemd的Linux系统:
sudo systemd-resolve --flush-caches
  • 其他系统可以试试:
sudo /etc/init.d/dns-clean restart

刷新完再重新执行原来的wget命令,大概率能解决问题。

3. 改用curl工具下载

curl同样支持跳过证书检查,命令更简洁:

curl -k -O https://download.java.net/java/GA/jdk12.0.1/69cfe15208a647278a19ef0990eea691/12/GPL/openjdk-12.0.1_linux-x64_bin.tar.gz

其中-k是跳过证书验证,-O表示保留原文件名下载。

4. 手动导入正确证书(安全持久方案)

如果不想跳过验证,想彻底解决这个问题,可以手动获取并导入download.java.net的正确证书:

  1. 先获取服务器证书:
openssl s_client -connect download.java.net:443 -showcerts
  1. 在输出里找到属于download.java.net的证书块(从-----BEGIN CERTIFICATE-----到-----END CERTIFICATE-----),把这段内容保存到文件download-java-net.crt中。
  2. 导入到系统信任证书库:
sudo cp download-java-net.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

之后再用wget下载就不会出现证书不匹配的错误了。

当时这个问题在社区里挺多人反馈的,主要是Oracle那边的CDN节点证书配置问题,后来虽然修复了,但偶尔还是会因为DNS缓存的原因碰到。

内容的提问来源于stack exchange,提问作者Gerald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:31:16