Fab*_*oso 14 ssl-certificate spring-boot
错误:
javax.net.ssl.SSLException: Certificate for <localhost> doesn't match any of the subject alternative names: [xxxxxxx.xxx.xxxxxx.xxx]
Run Code Online (Sandbox Code Playgroud)
我的localhost. 我也有一个ssh通过腻子到服务器的隧道。
我做过的事情:
我错过了什么?顺便说一句,我也在使用 VPN。
Hak*_*n54 27
创建证书时,您需要提供 localhost 作为主题备用名称。您可以通过提供以下附加参数来做到这一点:-ext "SAN:c=DNS:localhost,IP:127.0.0.1"
所以像这样:
keytool -genkeypair -keyalg RSA -keysize 2048 -alias stackoverflow -dname "CN=stackoverflow,OU=Hakan,O=Hakan,C=NL" -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -validity 3650 -keystore identity.jks -storepass secret -keypass secret -deststoretype pkcs12
Run Code Online (Sandbox Code Playgroud)
一些解释:
SAN 字段将用于匹配将在请求中提供的主机名。因此,当您在 localhost 上运行您的应用程序时,假设https://localhost:443并且您还想向该特定主机发出请求,该主机名也应该在 SAN 字段中可用,否则它将在握手期间失败过程。
我们以 Stackoverflow 为例。为了能够通过 https 访问 stackoverflow,我们希望证书至少包含一个条目stackoverflow.com
下面是 stackoverflow 的证书 SAN 值,在此示例中突出显示了特定的 DNS:

正如您已经看到的,它还包含其他 dns 值。通过这种方式,网站所有者可以为多个网站/子域等使用相同的证书。
| 归档时间: |
|
| 查看次数: |
25316 次 |
| 最近记录: |