0
これは、いくつかのデータをサーバーにアップロードして応答を読み取るアプリケーションのサンプルコードです。 接続が保護されているかどうかを確認するにはどうすればよいですか?このコードは、リンクが暗号化されていないか(関係なく、httpsのプレフィックスの)C#WebClientは暗号化された接続のみを許可します
using (WebClient client = new WebClient())
{
byte[] response = client.UploadValues("https://mytestserver.com", new NameValueCollection() { { "Abc", "def" } });
result = System.Text.Encoding.UTF8.GetString(response);
}
は、私が何を意味、接続をポート443(HTTPS)上のウェブserwerを実行しますが、残すことができる誰かがまったく確保されていない場合であっても動作します"古典的な"ポート80のようなものです。
証明書の署名をチェックするServicePointManager.ServerCertificateValidationCallbackを登録しましたが、証明書がまったくないと実行されないことは明らかです。
MITM攻撃に対する完璧な状況。
"httpsのプレフィックスに関係なく"という意味が明確ではありません。それがhttpsなら、確かに安全でしょうか?あなたの質問を明確にしてください。 –
URLがhttpsで始まるかどうかをチェックし、そうでない場合は例外をスローします。 – GregaMohorko
私の更新された質問 – user3175253