开发者-导航 猿导航

自签浏览器授信 CA 证书

发布时间:

目录

此服务器无法证实它就是 127.0.0.1 - 它的安全证书没有指定主题备用名称。这可能是因为某项配置有误或某个攻击者拦截了您的连接

自签 SSL 证书浏览器不授信,提示连接不安全解决办法,自签证书时增加 SAN 信息,将证书添加到受信任的根证书颁发机构

配置前 访问拦截 配置后
配置前SSL 访问拦截 配置后SSL

主题备用名称(SAN)说明: #

1.创建一个 OpenSSL 配置文件 #

配置文件 openssl.ini

[ req ]
default_bits        = 2048
default_keyfile     = privkey.pem
distinguished_name  = req_distinguished_name
req_extensions      = v3_req    # 指定请求使用 v3_req 扩展
prompt = no          # 不提示输入

[ req_distinguished_name ]
C  = US
ST = California
L  = San Francisco
O  = My Company
OU = My Department
CN = localhost
emailAddress = admin@mycompany.com

[ v3_req ]
subjectAltName = @alt_names   # 引用 alt_names

[ alt_names ]
DNS.1   = localhost
IP.1    = 127.0.0.1

配置文件说明

2.生成自签证书 #

使用这个配置文件来生成证书和私钥:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt -config ./openssl.ini -extensions v3_req

这个命令会生成一个包含 主题备用名称(SAN) 的自签证书。

3.检查证书 #

你可以使用工具如 OpenSSL 或浏览器的证书查看器来验证生成的证书是否包含正确的 SAN

使用 openssl 命令查看证书:

openssl x509 -in certificate.crt -text -noout

确保在证书信息中可以看到类似下面的部分:

X509v3 extensions:
	X509v3 Subject Alternative Name: 
		DNS:localhost, IP Address:127.0.0.1

如果不包含以上内容,请更新 openssl 重新生成,否则浏览器还是会提示:

此服务器无法证实它就是 127.0.0.1 - 它的安全证书没有指定主题备用名称。这可能是因为某项配置有误或某个攻击者拦截了您的连接

4.导入证书到浏览器 #

总结: #

浏览器警告的原因是自签证书没有设置主题备用名称(SAN)。要解决这个问题,生成自签证书时需要指定 SAN,确保包括你打算访问的主机名或 IP 地址(如 localhost127.0.0.1)。