C#,Metro,Stream Socket,SSL Untrusted Host,Squid

时间:2013-07-26 20:14:20

标签: c# ssl microsoft-metro squid stream-socket-client

我需要你的帮助。

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

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

它失败了:(

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

有人说我需要创建一个代理服务器,将SSL查询转发给不受信任的主机,并将此连接标记为信任
但怎么办呢?我现在没有得到它:(
我在我的CentOS网络服务器上使用Squid并将其用于squid.conf:

acl TrustedHosts url_regex _UNTRUSTED_HOST_IP_ADDRESS_
sslproxy_cert_error allow TrustedHosts
sslproxy_cert_error deny all

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

如果有人可以帮我这个......

1 个答案:

答案 0 :(得分:3)

我是通过修改StreamSocket的控件来实现的:

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

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