原始出处: https://www.cnblogs.com/Charltsing/p/FiddlerCoreHTTPS.html
Fiddlercore 可以拦截和修改 http 的网页内容, 代码在百度很多.
如果想用 Fiddlercore 拦截和修改 Https 的网页, 你会遇到私密连接的问题, 导致 Chrome 无法打开网页. 如何解决这个问题呢?
Fiddlercore 拦截 Https 的原理是自己创建一个 Https 的证书, 重新对网站的链接数据进行加密传输, 所以, 我们要通过代码创建一个 https 证书给 Fiddlercore.
创建 Https 证书有两种方式, 一种是通过 MakeCert.exe , 另一种是通过 CertMaker.dll 及 BCMakeCert.dll 来创建.
在官网说明中, 明确的说了两点:
1,MakeCert.exe 使用 Windows API 生成存储在用户的 \ Personal\Certificates 存储中的证书. 这些证书与 iOS 设备不兼容, 后者需要证书中未由 MakeCert.exe 设置的特定字段.
2,CertMaker.dll 使用 BouncyCastle C#库 (BCMakeCert.dll) 从头开始生成新证书. 这些证书仅存储在内存中, 并与 iOS 设备兼容.
注意红色字!!
我们 在 Fiddlercore 编程的时候, 通常采用 dll 方式创建证书, 创建后的证书放在内存中. 所以, 仅当程序第一次启动的时候, 我们才需要创建证书, 以后再启动程序, 就不需要创建证书了, 这个过程持续到电脑重启为止.
创建的证书有两个关键信息: fiddler.certmaker.bc.cert 和 fiddler.certmaker.bc.key. 这两个信息创建之后, 要保存到某个地方以备下次启动时调用获取之前创建的数字证书. 通常, 我们可以把这两个信息 (就是字符串) 放到 App.Config 文件里面.
安装证书使用 CertMaker.createRootCert(), 卸载证书使用 removeFiddlerGeneratedCerts()
下面是一个注入 JS 的工具, 使用 Fiddlercore 完成, 支持 HTTPS 网页.
如果有什么技术问题交流, 联系 QQ564955427.
*****************
来源: http://www.bubuko.com/infodetail-3529725.html