有一台服务器使用以下SAN记录的证书创建HTTPS:
SubjectAlternativeName [
DNSName: localhost
IPAddress: 127.0.0.1
URIName: https://localhost
DNSName: *
]
当我尝试从JDK11连接到此服务器时,我收到以下错误:
javax.net.ssl。SSLAndshakeException:找不到与主机服务匹配的主题替代DNS名称。
其中
host-service
是服务所在的主机名。我仔细检查了信任库,它符合要求
ca-certs
信任证书。同样的应用程序在使用JDK8时也能很好地工作。
在JDK11中,信任通配符DNS的默认行为是否已经改变,现在它不起作用了?
此外,相关问题可能是服务器运行时
TLSv1.1
。但我将客户端应用程序配置为与
-Djdk.tls.client.protocols="TLSv1.1,TLSv1.2"
因此,这应该是可行的。默认SSL上下文没有以任何方式更改,信任库位于默认路径中(
/etc/pki/java
).