表紙ソフトウェアチュートリアル「リクエストが中止されました: SSL/TLS セキュア チャネルの作成に失敗しました」の理由と解決策
「リクエストが中止されました: SSL/TLS セキュア チャネルの作成に失敗しました」の理由と解決策

説明: リクエストが中止されました: SSL/TLS セキュア チャネルの作成に失敗しました。 SSL/TLS セキュア チャネルを作成できませんでした。 ビルド プラットフォーム: Windows Server 2012、Windows 7 Service Pack 1 (SP1)、および Windows Server 2008 R2 SP1

[エピソード] ウェブサイトのダウンロード サイト全体のダウンロード ツールで、URL を入力してワンクリックでダウンロードできます。シンプルで使いやすく、マルチスレッドのタスクを備えています。

解決策 1: コードレベル

HttpWebRequest の前にコードを設定します

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

解決策 2: システムレベル

上記の方法が機能しない場合は、システム レベルの問題です。現在使用しているシステムに応じてシステム パッチを更新してください。

Windows の WinHTTP の既定のセキュリティ プロトコルとして TLS 1.1 および TLS 1.2 を有効にする更新プログラム。この更新プログラムは、Windows Server 2012、Windows 7 Service Pack 1 (SP1)、および Windows Server 2008 R2 SP1 1.1 でのトランスポート層セキュリティ (TLS) のサポートを提供します。 TLS 1.2 のサポートについては、公式ドキュメントを参照してください。 https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

アップデートパッチ KB3140245

Windows 7 で TLS 1.1 および 1.2 を SChannel コンポーネント レベルで有効にする (以下のいずれかの更新を使用)

方法 1: Microsoft 更新プログラムのインストール パッケージを使用して MicrosoftEasyFix51044.msi を更新する
方法 2: レジストリを手動で更新する

次のレジストリ コードをコピーし、レジストリにインポートします。新しいテキストを作成し、サフィックス txt を reg (レジストリ キー) に変更してインポートします (インポートする前にバックアップを作成します)。

WIN7 64
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80
Windows Server
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001

システムがTLS1.2、TLS1.3をサポートしているかどうかを確認します。

PowerShell が開きます。

[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

コードの最初の行は、サポートされている TLS バージョンをチェックします。コードの 2 行目は、TLS サポートを変更します。

解決策 3: システムをアップグレードする

前の 2 つの方法はどちらも機能しないため、究極の方法のみを使用できます。

  • システムを Windows 10 および Windows Server 2019 (TLS1.2 をサポート) にアップグレードします。
  • システムを Windows 11 および Windows Server 2022 (TLS1.3 をサポート) にアップグレードします。

注: 各 Windows バージョンでサポートされる特定の TSL バージョンについては、この記事の補足情報を参照してください。


その他参考コンテンツ

その他参考コンテンツ1

解決策は存在しますが、フレームワークのバージョンに依存します。

.NET 4.6以降。 TLS 1.2 をサポートするために追加の作業を行う必要はありません。デフォルトでサポートされています。

.NET 4.5。 TLS 1.2 はサポートされていますが、デフォルトのプロトコルではありません。それを使用するかどうかを選択する必要があります。次のコードは TLS 1.2 をデフォルトとして設定します。安全なリソースに接続する前に必ず実行してください。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0。 TLS 1.2 はサポートされていませんが、システムに .NET 4.5 (以降) がインストールされている場合は、アプリケーション フレームワークが TLS 1.2 をサポートしていない場合でも、TLS 1.2 を使用するオプションがあります。唯一の問題は、.NET 4.0 の SecurityProtocolType に TLS1.2 のエントリがないため、この列挙値の数値表現を使用する必要があることです。

ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 以下。 TLS 1.2(*) はサポートされていないため、回避策はありません。アプリケーションを最新バージョンのフレームワークにアップグレードします。

PS シナリオ 3 の場合、プログラムで強制することなく、デフォルトで 4.5 に TLS 1.2 の使用を強制するレジストリ ハックもあります。 PPS Microsoft の Christian Pop が以下で言及しているように、TLS1.2 サポートを有効にする .NET 3.5 用の最新パッチが利用可能です。

見る:

  • KB3154​​518 – 信頼性ロールアップ HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
  • KB3154​​519 – 信頼性ロールアップ HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
  • KB3154​​520 – 信頼性ロールアップ HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

その他参考コンテンツ2

おそらく、Web サイトによって提供される証明書キーの長さは 512 ビットで、現在の業界標準によれば、2048 ビット以上の公開キーが含まれている必要があります。 Microsoft の 2016 年 9 月のセキュリティ更新プログラムは、公開キーの長さが 2048 バイト未満 (RSA 512 など) の場合、次のようにこの問題に対応しました。Windows は HTTPS 接続をキャンセルできます

インストールされているアップデートは、

2012 R2 and Windows 8

  • KB3185331
  • KB3188743
  • KB3174644

2008 R2 and Windows 7

  • KB3185278
  • KB3185330
  • KB3192391
  • KB3175024
  • KB3172605

その他参考コンテンツ3

SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 のデフォルト値: SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 .net 4.6/4.7 のデフォルト値: SecurityProtocolType.Tls12 |

https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre

SCH_USE_STRONG_CRYPTO このフラグは .NET Framework 4.6 で自動的に使用されます。 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Win7Sp1 および .Net 3.5.1 では、TLS1.2 がサポートされています

ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; // ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | // 1.1 および 1.2 のサポートを追加します。

TLS1.2 の結論は次のとおりです。

  • .Net3.5.1 をインストールするにはパッチが必要で、その後 TLS1.2 列挙を追加する必要があります
  • .Net 4.0 をインストールするには、レジストリを変更してから TLS1.2 列挙を追加する必要があります
  • .Net4.5 をインストールした後、TLS1.2 列挙も追加する必要があります
  • .Net4.6.1 をインストールすると、TLS1.2 がデフォルトでサポートされます。

.net4 でのレジストリの変更

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

追加の材料

この記事を書いているのは、ウェブサイトのダウンロード内容はインターネット上から収集・整理したものです。転載の際は出典を明記してください。

ソフトウェア アプリケーション: フロントエンド テンプレートのダウンロード、オフライン Web ブラウジング。注: このソフトウェアはハッカー プログラムではないため、バックグラウンド データをダウンロードすることはできません。
免責事項:本サービスは、個人的な学習、研究、鑑賞、その他の非営利または非営利の目的を目的としていますが、同時に著作権法およびその他の関連法の規定を遵守する必要があり、権利を侵害してはなりません。この Web サイトおよび関連する権利所有者の法的権利。このサイトのツールの使用に伴うリスクは、このソフトウェアとは何の関係もありません。
Copyright © 2019-2024 Rabbit Software All Rights Reserved 広東省 ICP No. 19111427-2
チュートリアル情報 ユーザーマニュアル ウェブサイトのトピックス