You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Chrome与VS 2019使用不同localhost SSL证书,CA信任问题求助

解决ASP.NET Core本地HTTPS证书不被Chrome信任的问题

我之前也碰到过几乎一模一样的坑,折腾了好一阵才理顺,给你几个亲测有效的方案,按顺序试试:

方案一:清理Chrome的缓存与旧证书残留

Chrome有时候会缓存旧的证书信息,就算系统里更新了信任,它还是会用旧的:

  • 打开Chrome,输入地址 chrome://settings/clearBrowserData,切换到「高级」标签页
  • 勾选「缓存的图片和文件」以及「网站设置」,时间范围选择「所有时间」,点击「清除数据」
  • 接着打开 chrome://settings/privacy,拉到最底部进入「安全」→「管理证书」
  • 在「个人」和「受信任的根证书颁发机构」里,找到所有和localhostASP.NET Core相关的旧证书,全部删除

方案二:确保导入的是正确的根CA证书

很多人会误把localhost的叶证书导入根存储,这根本没用,得导入顶层的根CA:

  • 按下Win+R输入 certmgr.msc 打开证书管理器
  • 进入「个人→证书」,找到名称为localhost的证书,双击打开
  • 切换到「证书路径」标签,你会看到一个顶层的根证书(通常叫「ASP.NET Core HTTPS Development Certificate」),选中它点击「查看证书」
  • 在弹出的窗口里切换到「详细信息」标签,点击「复制到文件」,选择Base64编码的X.509格式,导出成.cer文件
  • 回到证书管理器,进入「受信任的根证书颁发机构→证书」,右键选择「所有任务→导入」,导入刚才导出的根证书文件

方案三:用dotnet命令重新生成并信任证书

VS的UI操作偶尔会出bug,命令行的方式更可靠:

  • 管理员身份打开PowerShell或命令提示符
  • 先清理旧证书:dotnet dev-certs https --clean
  • 然后生成并自动信任新证书:dotnet dev-certs https --trust
  • 重启VS和Chrome,再启动你的ASP.NET Core应用

方案四:确认Chrome启用系统证书存储

如果Chrome用的是自己独立的证书存储,系统里的信任设置不会生效:

  • 打开Chrome输入 chrome://flags/#system-certificates
  • 确保「Use system certificates」选项处于「启用」状态,重启Chrome后再测试

临时应急方案(仅限本地开发)

如果上面的方法都没效果,可以临时关闭Chrome的证书验证(别在生产环境用!):

  • 右键Chrome快捷方式→「属性」,在「目标」栏末尾添加 --ignore-certificate-errors(注意前面有个空格)
  • 启动Chrome后访问你的应用,证书警告就会被跳过

内容的提问来源于stack exchange,提问作者thefolenangel

火山引擎 最新活动