【问题标题】:Change the root signing certificate used by Fiddler更改 Fiddler 使用的根签名证书
【发布时间】:2017-07-03 09:09:00
【问题描述】:

Fiddler 允许通过 MITM 攻击来解密 HTTPS 流量。 Fiddler 生成一个根证书,当添加到 Trusted Root Authorities 时,使用证书存储的应用可以被拦截,因为它们信任生成的根证书。

但是,我要拦截的特定应用程序使用了一种较弱的证书固定形式。站点证书必须具有特定的 Issuer.CN 字段值。因此生成的根证书必须有我指定的CN 值,而不是DO_NOT_TRUST_FiddlerRoot 的默认值。

是否可以在 Fiddler 中使用自定义根证书?

【问题讨论】:

    标签: ssl-certificate fiddler certificate-authority


    【解决方案1】:

    你可以使用:

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

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

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

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

    【讨论】:

    • 啊。所以像这样,我可以在其他程序中创建一个 ca.pfx 文件和 cert.pfx,然后用我的自定义 ca.pfx 签署 cert.pfx。听起来很有希望。谢谢你。测试时我会 ping 回来。
    • 此方法有效,但只能用于特定主机。如何为所有主机应用我的自定义根证书?
    • @Teiv:这是一个完全不同的问题,应该这样打开。在你的问题中要提到的一件关键事情是你希望通过这个实现什么。
    • @EricLaw 你能回答@Teiv 的问题吗? ...我们如何StoreCert 给所有主机?
    • @mahmoudnezarsarhan 你今天不能轻易做到这一点,但尝试起来真的没有意义,因为证书不包含所需的主机名,因此总是会导致客户端显示证书名称不匹配错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    相关资源
    最近更新 更多