[解決済み] ssl時の証明書チェックを無視する方法
2022-06-01 13:21:36
質問
Httpsリソースをリクエストする際に、証明書のチェックを無視する方法を探しています。
しかし、私はまだいくつかの問題があります。私のコードを確認してください。私はちょうどコードが何をすべきか理解していない
ServicePointManager.ServerCertificateValidationCallback
の意味がわかりません。
このデリゲートメソッドはいつ呼ばれるのでしょうか?そしてもう一つ、このコードはどの場所に書けばいいのでしょうか?以前は
ServicePointManager.ServerCertificateValidationCallback
が実行される前か
Stream stream = request.GetRequestStream()
?
public HttpWebRequest GetRequest()
{
CookieContainer cookieContainer = new CookieContainer();
// Create a request to the server
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_remoteUrl);
#region Set request parameters
request.Method = _context.Request.HttpMethod;
request.UserAgent = _context.Request.UserAgent;
request.KeepAlive = true;
request.CookieContainer = cookieContainer;
request.PreAuthenticate = true;
request.AllowAutoRedirect = false;
#endregion
// For POST, write the post data extracted from the incoming request
if (request.Method == "POST")
{
Stream clientStream = _context.Request.InputStream;
request.ContentType = _context.Request.ContentType;
request.ContentLength = clientStream.Length;
ServicePointManager.ServerCertificateValidationCallback = delegate(
Object obj, X509Certificate certificate, X509Chain chain,
SslPolicyErrors errors)
{
return (true);
};
Stream stream = request.GetRequestStream();
....
}
....
return request;
}
}
どのように解決するのですか?
グローバルな ServicePointManager を設定すると ServicePointManager.ServerCertificateValidationCallback。 を設定すると、以降のすべてのリクエストでこのポリシーが継承されます。これは、グローバルな設定であるため、この設定を アプリケーション開始 メソッドで設定するのが望ましいでしょう。 グローバル.asax .
コールバックを設定すると、デフォルトの動作がオーバーライドされ、自分でカスタム検証ルーチンを作成することができます。
関連
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】Ajax処理で「無効なJSONプリミティブ」と表示される件
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] リクエストは中断されました。SSL/TLSセキュアチャネルを作成できませんでした
-
[解決済み] PEMエンコードされた証明書からSSL証明書の有効期限を判断する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】C#で四捨五入する方法
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] "SSL/TLSセキュアチャネルの信頼関係を当局と確立できませんでした "の解決方法
-
[解決済み] C# Ignore certificate errors?