我为 localhost 创建的自签名 SSL 无法被信任,尽管我已将其导入 chrome

我为 localhost 创建的自签名 SSL 无法被信任,尽管我已将其导入 chrome

我通过运行以下链接中的脚本使用 ssl 生成了证书:https://gist.github.com/bjanderson/075fadfccdd12623ab935e57eff58eb4

脚本运行良好,我收到了所有预期的文件。我已将 ca.crt 导入到受信任的根证书颁发机构下的 chrome,但 chrome 仍然不信任它。

我收到以下错误:

Certificate - Subject Alternative Name missing
The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address.

Certificate - missing
This site is missing a valid, trusted certificate (net::ERR_CERT_AUTHORITY_INVALID).

我该如何解决这两个问题并让我的 chrome 信任我的自签名证书?

答案1

Certificate - Subject Alternative Name missing
The certificate for this site does not contain a Subject Alternative Name
                                             extension containing a domain name or IP address.

这个意思:

  • 中国不匹配服务器名称
  • 还有X509v3 主体备用名称场也不要。
Certificate - missing
This site is missing a valid, trusted certificate (net::ERR_CERT_AUTHORITY_INVALID).

这个意思:

无法信任服务器,因为未提供有效的证书...好的,当第一个错误解决时,这个问题就解决了!

考虑一下您连接服务器的方式(IP 地址或 DNS 名称):

https://228.929.123.46/

或者

https://mydomain.example.com/
https://127.0.0.1/
https://$HOSTNAME/

你可以使用以下方式创建证书

  • CN=228.929.123.46并添加DNS.1=mydomain.example.com DNS.2=$HOSTNAME IP.1=127.0.0.1 DNS.3=other.domain.org DNS....
  • CN=127.0.0.1并添加DNS.1=mydomain.example.com DNS.2=$HOSTNAME IP.1=228.929.123.46 DNS.3=other.domain.org DNS....

但是如果在互联网上,你最好使用不完整的主机名,localnet(192.168.xx)和localip(127.xxx)!

  • CN=228.929.123.46并添加DNS.1=mydomain.example.com DNS.2=other.domain.org DNS....

并且仅使用 DNS 地址或公共 IP 即可访问您的服务器!

看看那儿,

然后看看如何做到这一点...

相关内容