我再需要您的帮助。

我无法获得如何成功建立从Metro应用程序到不受信任的根证书主机的StreamSocket连接的方法。
我这样连接:

await socket.ConnectAsync(new HostName("_UNTRUSTED_HOST_IP_ADDRESS_"), "_SSL_PORT_", SocketProtectionLevel.Ssl);


它失败了:(

由于主机限制,我无法建立普通的HTTP连接。

有人说我需要制作一个代理服务器,该服务器将SSL查询转发到该不受信任的主机,并将该连接标记为受信任。
但是怎么做呢?我暂时没有得到它:(
我在CentOS Web服务器上使用了Squid,并对此执行了squid.conf:

acl TrustedHosts url_regex _UNTRUSTED_HOST_IP_ADDRESS_
sslproxy_cert_error allow TrustedHosts
sslproxy_cert_error deny all


我需要StreamSocket,因为我必须读取和写入套接字以执行一些有价值的操作。

如果有人可以帮助我...

最佳答案

我通过修改StreamSocket的控件来做到这一点:

_streamSocket.Control.IgnorableServerCertificateErrors.Add(ChainValidationResult.Untrusted);
_streamSocket.Control.IgnorableServerCertificateErrors.Add(ChainValidationResult.InvalidName);


ChainValidationResult包含多个选项,请选择一个最适合您的选项。

09-05 23:24