0

每次当我运行使用 Titan -web-proxy (3.0.398-beta)的NUnit (2.6.4)的单元测试时,都会出现有关安装证书的安全警告,但是如果我像独立应用程序一样启动 Titan-web-proxy仅在第一次询问,然后在没有安全警告的情况下启动。在两个项目中启动代理的代码相同:

private readonly ProxyServer _proxyServer = new ProxyServer();

public void ProxyStart()
{
    var explicitEndPoint = new ExplicitProxyEndPoint(IPAddress.Any, 8000);
    _proxyServer.AddEndPoint(explicitEndPoint);
    _proxyServer.Start();
    _proxyServer.SetAsSystemProxy(explicitEndPoint , ProxyProtocolType.AllHttp);
}
4

2 回答 2

1

以前我在我们的生产环境中遇到过这个问题。我深入研究并得到了这个解决方案。这可能是值得尝试的解决方案

请检查基础文件夹中的证书文件“rootCert.pfx”。(这是原因)

此证书文件必须位于应用程序运行的基本位置。其他明智的钛每次都创建一个新证书。

如果证书具有相同的序列号,则“您将不会收到任何安全消息警告”

然后,运行时将查看受信任的根证书颁发机构存储,并查看发布者证书颁发者的证书是否安装在该存储中。然后它将查看证书上的发布者是谁,并查看他们的证书是否在受信任的发布者存储中。如果这两件事都是真的,那么默认情况下不会提示用户,

笔记 :

  • Titanium Proxy 首先检查文件是否存在,否则会生成一个新文件。如果我是正确的,文件名是“rootCert.pfx”。
  • 在启动应用程序之前,请转到基本文件夹并检查证书文件是否存在。
  • 我不知道 NUnit 是如何工作的
于 2018-04-13T10:29:16.977 回答
1

感谢您的帮助,系统提示您解决此问题。问题是Titanium-web-proxy (3.0.503) 每次都会生成新的证书,所以我只是手动设置了根证书,它会有所帮助。在没有安全警告的情况下启动测试。

  ProxyServer.CertificateManager.RootCertificate = new X509Certificate2(path + "\\Resources\\rootCert.pfx");
于 2018-07-09T12:35:35.890 回答