如何强制 Windows 10 信任 Fiddler 根证书?

如何强制 Windows 10 信任 Fiddler 根证书?

我需要拦截从本地应用程序到远程网站的某些 HTTPS 流量。在 Win7 上,使用以下命令很容易实现http://FiddlerTool.com 现在我正在运行 Windows10 机器,无论我做什么,系统都不信任 Fiddler 生成的临时证书。到目前为止执行的步骤:1. 使用 Fiddler 设置/Https/Actions 菜单中的“信任根证书”操作 2. 将根证书导出到桌面,导入到本地计算机和当前用户的受信任根证书颁发机构部分

IE 仍然报告“该证书不是由受信任的根颁发机构颁发的”,而我需要跟踪的客户端应用程序抱怨“无法与远程主机建立安全的 SSL/TLS 连接”,换句话说,这是相同的诊断。

答案1

我遇到了类似的问题,即 Windows 10 中的 Fiddler 无法接收非 HTTPS 流量。

解决如下:在 Fiddler(v4.6.2)中:工具菜单>>Fiddler 选项>>HTTPS 选项卡>>操作按钮>>重置所有证书。

显然,这个问题(至少是我遇到的问题)是由于混合使用新旧证书造成的:

我对最新版本的 Fiddler 进行了更改,以提高证书创建的性能,并避免 Chrome 和 Firefox 中出现新的证书验证逻辑问题。Fiddler 最大的变化是 CertEnroll 现在是 Windows 7 及更高版本上的默认证书生成器。不幸的是,此更改可能会给以前信任 Fiddler 根证书的用户带来问题;浏览器可能会显示错误消息,如 NET::ERR_CERT_AUTHORITY_INVALID 或证书不是由受信任的证书颁发机构颁发的。

参考: https://textslashplain.com/2015/10/30/reset-fiddlers-https-certificates/

答案2

好的,看来我已经解决了。为了解决这个问题,我必须将证书安装到受信任的根颁发机构(企业)下的特定物理商店中。导入注册表商店没有帮助。

答案3

我重置了我的证书,Tool > Options > HTTPs > Action > Reset all certificates但是它不起作用

这就是我解决问题的方法

  • 重新启动服务 CryptSvc。
  • 右键单击 HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root\ProtectedRoots
  • 权限 > 当前 Windows 用户 > 完全访问
  • 删除完整密钥 HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root
  • 重启 Windows 就可以了

参考:https://www.addictivetips.com/windows-tips/fix-chrome-not-working-windows-10/

答案4

域迁移后我遇到了同样的问题,以下方法修复了该问题:

  • 以管理员身份打开 regedit
  • 转到 HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root\ProtectedRoots
  • 鼠标右键,权限
  • 信息You do not have permissions to view the current permission settings for ProtectedRoots, but you can make permission changes.
  • 将所有者设置为 MachineName\Administrators
  • 将您的 NewDomain\Username 设置为 READ
  • 将 NT SERVICE\CryptSvc 设置为完全控制(如果需要)
  • 按“确定”并关闭权限窗口。
  • 重新开放权限,并将所有者改为SYSTEM
  • 转到 HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root\ 并检查那里的权限。我们注意到所有者仍然是 OldDomain\Username

相关内容