2021年11月01日
川俣晶の縁側ソフトウェア技術雑記 total 3889 count

C#でHTTPSのDownloadFileメソッドでのダウンロードに失敗する

Written By: 川俣 晶連絡先

現象 §

 WebClientクラスのDownloadFileメソッドでのダウンロードに失敗する。

 プロトコルはHTTPSである。

 エラー内容は以下の通りである。

System.Net.WebException: 要求は中止されました: SSL/TLS のセキュリティで保護されているチャネルを作成できませんでした

原因 §

 デフォルトではTLS1.0のみが許可され1.1や1.2は許可されていない。

解決 §

 以下のコードを追加してTLS1.1/1.2/1.3を許可する。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13;

補足 §

 フレームワークのバージョンが古いとTls11などは定義されていない。.NET 4だと定義されていなかった。場合によってはフレームワークのバージョンアップが必須。