我试图让我的 Ubuntu 机器正确识别并使用 Fiddler 的证书作为可信来源,以便我可以解密 HTTPS 流量(特别是 google-analytics)。我以前曾经有过这个工作,但自从重新安装 Ubuntu 以来,现在必须重新设置 Fiddler。我不记得我一开始做了什么,今天我花了大部分时间试图弄清楚。
我想我距离获得该证书的认可已经越来越近了。我的意思是,当我几个小时前访问 Google 时,在使用 Fiddler 时,我会看到“连接不安全消息”——我认为这意味着 Google 只是主动拒绝承认 Fiddler 的证书。现在,我收到“无法访问此站点”页面 (ERR_SOCKET_NOT_CONNECTED) 页面。
今天我尝试了很多不同的事情来尝试让它发挥作用,但这就是我上次尝试所做的:
用过的本网站作为安装 Fiddler 的起点。
安装单声道4.8.0
没有从 Linux 设置页面运行“/usr/lib/mono//mozroots --import --sync”命令,因为当我尝试时,我在终端中收到一条消息,说 mozroots 已贬值并使用 client_sync 代替。 (client_sync 似乎只是使用您传递给它的任何 CRT 文件来更新 mono 证书存储。
安装了 Fiddler(尽可能将其保留为默认值 - 使用 8888 作为列表端口)
在 Fiddler 中勾选“Decrpyt HTTPS”框
将Fiddler证书导出到桌面
使用 openssl 将 CER 证书文件转换为 PEM 格式(特别是 CRT)(ubuntu 上的 update-ca-certificates 需要 PEM 格式的证书文件,并且 Fiddler 导出的 CER 文件采用二进制格式。)
将 CRT 文件复制到 /usr/share/ca-certificates/
从终端运行“sudo dpkg-reconfigure ca-certificates”(单击“询问”,然后单击“确定”)(这会重新配置 ca 证书,运行 update-ca-certificate,并更新 mono 证书存储(通过从 mono 运行 client_sync 并传递它是此过程创建的更新的 ca-certificates.crt 文件),这会将 Fiddler CRT 文件的 PEM 版本放入 /etc/ssl/ca-certificates/ 并将其打包到更大的 ca-certificates.conf 文件中。
这几乎就是我现在的处境。关闭 Fiddler - 我可以很好地访问 Google,打开它会显示我在本文顶部提到的页面。我可以按预期看到所有其他 HTTP 请求。
当我上次让它工作时,我在网上阅读了很多关于如何在 Ubuntu 上安装 CA 证书的建议,并试图再次找到这条线索,但我读到的所有内容都混合在一起了。我依稀记得将 Fiddler 证书文件作为个人导入 Firefox,导出该证书,然后将我刚刚导出的文件作为 CA 可信根导入回 FF,然后删除我首先安装的个人证书。我想我使用从 FF 导出的证书通过“update-ca-certificates”导入到系统中。我不知道这是否是关键的一步。
我同时也在玩 mitmproxy,它也需要一个代理——同样,不知道这是否对这个过程有帮助。
我现在基本上就是把东西扔到墙上,看看什么能粘住。
答案1
瑞安,看看这程序;您已经完成了大部分工作,相关部分应该即将结束。我大约一个月前修复了这个问题,基本上可以归结为在导入证书时选择正确的选项。我不完全记得修复是什么,但我想说尝试再次导入并严格遵循此过程所说的文件类型。我真的希望我找到了正确的网站,这不会浪费您的时间。请回复并告知我是否可以解决您的问题。哦;我也不必转换证书类型。我知道你在说什么,并且不得不为其他任务做这件事。只需按照上面链接中的步骤操作,看看它是否适合您。