使用 Fiddler 更改根签名证书

3
Fiddler可以通过进行中间人攻击来解密HTTPS流量。Fiddler会生成一个根证书,将其添加到受信任的根证书机构后,使用证书存储的应用程序可以被拦截,因为它们信任生成的根证书。
然而,我想要拦截的特定应用程序正在使用一种较弱的证书固定形式。站点证书必须具有特定的Issuer.CN字段值。因此,生成的根证书必须具有我指定的CN值,而不是默认值DO_NOT_TRUST_FiddlerRoot。
是否可能在Fiddler中使用自定义根证书?
1个回答

3

您可以使用以下任一方法:

CertMaker.StoreCert("example.com", certMyCert);`

或者

CertMaker.StoreCert("example.com", "C:\\temp\\cert.pfx", "TopSecretPassword");

要让Fiddler向客户端应用程序返回您选择的证书,您需要生成证书(使用任何您喜欢的工具)并可能配置操作系统以信任您使用的自签名根证书。

第一个调用要求您在certmgr.msc中安装X509Certificate2(以便可以找到其私钥),而第二个调用允许您从磁盘指定PFX文件。


啊,这样我就可以在其他程序中创建一个ca.pfx文件和cert.pfx文件,然后用我的自定义ca.pfx签署cert.pfx。听起来很有前途。谢谢。测试完后我会回复的。 - foens
4
这种方法有效,但只能用于特定的主机。我该如何为所有主机应用我的自定义根证书? - Teiv
@Teiv:这是一个非常不同的问题,应该单独发布。你在问题中需要提到的一个关键点是你希望通过这个做什么。 - EricLaw
@EricLaw,您能否回答@Teiv的问题?我们如何将“StoreCert”存储到所有主机上? - mahmoud nezar sarhan
1
@mahmoudnezarsarhan,现在你不能轻易地做到这一点,但尝试也没有意义,因为证书不包含所需的主机名,因此客户端始终会显示证书名称不匹配的错误。 - EricLaw
这不是签名证书,对吧? - Sajuuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接