我再需要您的帮助。
我无法获得如何成功建立从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包含多个选项,请选择一个最适合您的选项。