1

もう一度あなたの助けが必要です。

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 が必要です。これは、重要なアクションを実行するためにソケットに対して読み書きを行う必要があるためです。

誰かがこれで私を助けることができれば...

4

1 に答える 1

3

そのようにStreamSocketのコントロールを変更することでそれを行いました:

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

ChainValidationResult には複数のオプションが含まれています。最適なものを選択してください。

于 2014-05-17T12:39:37.737 に答える