.net - 将自定义根与 FiddlerCore 结合使用

标签 .net ssl https fiddler

是否可以使用 FiddlerCore 的自定义根 CA 来拦截 HTTPS 流量。

我需要的是分配一个用于签署所有主机证书的证书。

另一种解决方案是在创建根证书之前向 FiddlerCore 提供证书信息。

最佳答案

FiddlerApplication.Startup(9999, FiddlerCoreStartupFlags.DecryptSSL);
var path = Path.GetDirectoryName(Assembly.GetCallingAssembly().Location) + @"\sslcertificate.pfx";
var secureEndpoint = FiddlerApplication.CreateProxyEndpoint(443, true, new X509Certificate2(path, "password"));

您可以使用 Visual Studio 工具创建自己的证书,但是,我使用这个免费程序创建了一个测试,因为我很懒: http://www.xenossoftware.com/freetools/certificategenerator/

如果机器上安装了证书,我相信你也可以使用 X509Store 类来做同样的事情。

下面是一些代码(未测试):

FiddlerApplication.Startup(9999, FiddlerCoreStartupFlags.DecryptSSL);
var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
try
{

    store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

    var x509Certificate2 = store.Certificates.Find(X509FindType.FindBySubjectName, "YourSSLCertificateName", true)[0];

    secureEndpoint = FiddlerApplication.CreateProxyEndpoint(443, true, x509Certificate2);

}
finally
{
    store.Close();
}

关于.net - 将自定义根与 FiddlerCore 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3759883/

相关文章:

apache - 多个虚拟主机的一个 IP 地址和通配符证书(Windows、Apache 2.4.2、OpenSSL 1.0.2e)

c++ - Visual C++ 窗体、简单消息框和将文本从文本字段分配给字符串时出错

c# - 大对象堆中的大字符串会导致问题——但在任何情况下它都必须以字符串结束

ssl - 如何在 Kubernetes 中的 pod-to-service 调用中轻松启用 SSL

ssl - 通过 SSL 的 Docker 和 Youtrack

JavaScript HTTPS 到 HTTP iFrame 安全问题

asp.net-mvc - 有什么方法可以处理 ASP.Net MVC 中的 Put 和 Delete 动词吗?

c# - 以 C#.Net 形式托管进程会禁用某些进程的按钮

.net - 将非空终止字符串传递给非托管代码

python - Flask 应用程序出现 SSL 协议(protocol)错误