今天项目中通过Fiddler抓包的时候,发现遇到 https
的请求无法抓取到,在Host
一栏显示的是 Tunnel to
。我的第一感觉推测是Fiddler的证书出问题了。
当在Fiddler中选择 Tools
– Fiddler Options
– HTTPS
中的选项移除证书的时候,却发现报错了。
错误信息为: Can't create the key of the subject ('JoeSoft') Failed
如下面的形式:
1 | --------------------------- |
有时候,也可能是下面的错误:
解决方法
在网上搜索,找到一种简单粗暴的方式,经测试后确实有效。
- 在Fiddler的选项中操作移除现有证书–见下面的
移除证书
方法。 - 退出Fiddler。
- 打开windows资源管理器,输入
%userprofile%\AppData\Roaming\Microsoft\Crypto\RSA
,回车打开; - 将该目录下的文件夹删除即可(删除之前以防出问题可以备份一下)。
然后,就可以为Fiddler重新添加证书了–见下面的 安装证书
方法。
移除证书
打开Fiddler,选择 Tools
– Fiddler Options
– HTTPS
选项,
去掉勾选 Capture HTTPS CONNECTs
的对勾:
此时,窗口中右下角的 Remove Interception Certificates
按钮就可以点击了:
点击移除即可。
另外需要说明一点的是,即使你的证书移除失败了,也要把 Capture HTTPS CONNECTs
一项前面的对勾取消掉,这很关键。
安装证书
打开Fiddler,选择 Tools
– Fiddler Options
– HTTPS
选项,
勾选 Capture HTTPS CONNECTs
Decrypt HTTPS traffic
选项,会弹出安装证书文件的提示,点击确定即可安装。
点到 第2步
的时候就会弹出安装证书的弹窗,选择 Yes
:
完成后点击最下面的 OK
选项。
然后将Fiddler关闭,再重新打开。
之后,就可以对HTTPS的请求进行抓包了。