0%

Fiddler抓包时HTTPS证书报错问题

今天项目中通过Fiddler抓包的时候,发现遇到 https 的请求无法抓取到,在Host一栏显示的是 Tunnel to 。我的第一感觉推测是Fiddler的证书出问题了。

当在Fiddler中选择 ToolsFiddler OptionsHTTPS 中的选项移除证书的时候,却发现报错了。

错误信息为: Can't create the key of the subject ('JoeSoft') Failed

如下面的形式:

1
2
3
4
5
6
7
8
9
10
11
12
--------------------------- 
Unable to Generate Certificate
---------------------------
Creation of the interception certificate failed.
makecert.exe returned -1.
Results from C:\Program Files\Fiddler2\MakeCert.exe -ss my -n
"CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by
http://www.fiddler2.com" -eku 1.3.6.1.5.5.7.3.1 -r -cy authority -a
sha1
Error: Can't create the key of the subject ('JoeSoft')
Failed
-------------------------------------------

有时候,也可能是下面的错误:


解决方法

在网上搜索,找到一种简单粗暴的方式,经测试后确实有效。

  1. 在Fiddler的选项中操作移除现有证书–见下面的 移除证书 方法。
  2. 退出Fiddler。
  3. 打开windows资源管理器,输入 %userprofile%\AppData\Roaming\Microsoft\Crypto\RSA ,回车打开;
  4. 将该目录下的文件夹删除即可(删除之前以防出问题可以备份一下)。

然后,就可以为Fiddler重新添加证书了–见下面的 安装证书 方法。


移除证书

打开Fiddler,选择 ToolsFiddler OptionsHTTPS 选项,

去掉勾选 Capture HTTPS CONNECTs 的对勾:

此时,窗口中右下角的 Remove Interception Certificates 按钮就可以点击了:

点击移除即可。

另外需要说明一点的是,即使你的证书移除失败了,也要把 Capture HTTPS CONNECTs 一项前面的对勾取消掉,这很关键


安装证书

打开Fiddler,选择 ToolsFiddler OptionsHTTPS 选项,

勾选 Capture HTTPS CONNECTs Decrypt HTTPS traffic 选项,会弹出安装证书文件的提示,点击确定即可安装。

点到 第2步 的时候就会弹出安装证书的弹窗,选择 Yes

完成后点击最下面的 OK 选项。

然后将Fiddler关闭,再重新打开。

之后,就可以对HTTPS的请求进行抓包了。


相关参考

如有疑问或需要技术讨论,请留言或发邮件到 service@itfanr.cc