Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

.NET CoreのHttpClientで無効な証明書を無視する

下書きに埋もれてたので発掘。よくある自己署名的なサーバーにHttpClientでアクセスする際、無視する話です。

.NET Frameworkでは、ServicePointManager.ServerCertificateValidationCallback を使っていたんですけど、.NET Coreでは効かないです。

以下のstackoverflowの回答にあるとおり、HttpClientHandler を使えばよいみたいですね。

stackoverflow.com

コードはこんな感じになります。

using (var httpClientHandler = new HttpClientHandler())
{
   httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
   using (var client = new HttpClient(httpClientHandler))
   {
       // Make your request...
   }
}