为啥当我看到通配符条目时出现 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 连接时出现问题