是否可以使用 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/