You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自签名证书在Chrome中无法生效问题求助

解决Chrome访问example.dev报net::ERR_CERT_COMMON_NAME_INVALID问题

问题原因

  1. Chrome证书验证规则:Chrome目前优先校验证书的**Subject Alternative Name (SAN)**字段,即便证书的Common Name(CN)与域名匹配,缺少包含该域名的SAN字段仍会触发证书无效错误。
  2. .dev域名的特殊限制:.dev是Google管理的顶级域名,Chrome强制启用HSTS(HTTP严格传输安全),对证书的验证标准比Safari和curl更严格,不符合规范的自签名证书会被直接拦截。

解决步骤

1. 重新生成包含SAN字段的自签名证书

使用OpenSSL生成证书时,必须在配置中添加SAN信息:

  • 创建openssl.cnf配置文件:
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = req_ext

[dn]
C=IL
ST=Israel
O=example.dev
OU=example.dev
CN=example.dev

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = example.dev
  • 执行以下命令生成私钥和证书:
# 生成私钥
openssl genrsa -out example.dev.key 2048
# 生成证书签名请求
openssl req -new -key example.dev.key -out example.dev.csr -config openssl.cnf
# 生成自签名证书(有效期365天)
openssl x509 -req -in example.dev.csr -signkey example.dev.key -out example.dev.crt -days 365 -extensions req_ext -extfile openssl.cnf

2. 更新Mac钥匙串中的证书

  • 打开「钥匙串访问」,搜索example.dev,删除旧的相关证书。
  • 导入新生成的example.dev.crt,双击证书进入详情页,在「信任」选项卡中设置「使用此证书时」为「始终信任」。

3. 刷新Chrome证书缓存

  • 关闭所有Chrome窗口后重新打开;若无效,在地址栏输入chrome://restart强制重启浏览器。
  • 可进入chrome://settings/certificates的「系统」标签页,确认证书已被信任;若未显示,手动将新证书导入Chrome的「受根证书颁发机构信任的证书」列表。

内容的提问来源于stack exchange,提问作者Vitaly Karasik DevOps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 13:00:06