为啥当我看到通配符条目时出现 javax.net.ssl.SSLHandshakeException: No subject Alternative DNS name matching found 异

Posted

技术标签:

【中文标题】为啥当我看到通配符条目时出现 javax.net.ssl.SSLHandshakeException: No subject Alternative DNS name matching found 异常【英文标题】:Why do I get a javax.net.ssl.SSLHandshakeException: No subject alternative DNS name matching found exception when I see a wildcard entry为什么当我看到通配符条目时出现 javax.net.ssl.SSLHandshakeException: No subject Alternative DNS name matching found 异常 【发布时间】:2019-11-18 06:09:53 【问题描述】:

我在尝试通过 ivy 从 atlassian 的人工仓库解析软件包时遇到以下 SSL 错误。

[ivy:retrieve] url https://packages.atlassian.com/repository/public/net/minidev/json-smart/ 的服务器访问错误(javax.net.ssl.SSLHandshakeException:找不到与 packages.atlassian.com 匹配的主题备用 DNS 名称。)

但是,当我在 Chrome 或 Firefox 中查看证书时,它显示为有效。主题备用名称扩展具有以下值。

Not Critical
DNS Name: *.atlassian.com
DNS Name: atlassian.com

这是我的错误还是 atlassian 的错误?我将如何解决它,最好不要禁用任何 SSL 安全性?

【问题讨论】:

证书确实对packages.atlassian.com有效,因为它包含域下的通配符。因此,您需要确保“ivy”看到完全相同的证书(特别是在企业设置中存在证书劫持政治),如果是这样,这似乎是那部分的错误。 我的猜测是这与 SNI 有关。在没有 SNI 的情况下进行 TLS 连接时,可以获得*.services.atlassian.com 的证书,只有将 SNI 设置为packages.atlassian.com 才能获得*.atlassian.com 的证书。可能使用的 Java 版本太旧,无法处理 SNI。跨度> 【参考方案1】:

这与 Java 版本有关。从 JDK 11.0.2 更新到 JDK 11.0.4 解决了这个问题。

【讨论】:

以上是关于为啥当我看到通配符条目时出现 javax.net.ssl.SSLHandshakeException: No subject Alternative DNS name matching found 异的主要内容,如果未能解决你的问题,请参考以下文章

JMeter:运行“许多”线程时出现 javax.net.ssl.SSLException

javax.net.ssl.SSLHandshakeException 通过 Cajo over SSL 连接时出现问题

为啥运行 yarn start 时出现语法错误

当我尝试使用 ROW_NUMBER() 时出现错误,为啥?

在 Android Studio 中调试时出现证书验证路径错误

为啥当我点击更新按钮时出现错误TypeError: r is undefined?