NuGet の署名パッケージの認証オプション
信頼されていないrootエラーを再試行する
Note
この課題は、Microsoft の信頼されたroot プログラムのroot証明書の Windows にのみ適用されます。
証明書チェーンの構築で、Windows は最初の使用時に関連するサード パーティのroot証明書をフェッチし、ローカルで信頼されたroot証明書として追加します。 内部的には、Windows は RPC 呼び出しを使用してこのネットワーク フェッチを開始します。システムが十分にビジー状態の場合、この RPC 呼び出しは失敗する可能性があります。 このエラーが発生すると、root証明書がローカルで信頼されなくなります。 この課題は、root証明書が初めて観察されるときに発生する可能性がありますが、root証明書がローカルで信頼されると、その証明書の課題は繰り返されません。 通常、チェーンの構築は再試行で成功します。
NuGet ユーザーの場合、この課題の症状は、通常、NuGet 操作が再試行時に成功し、次のいずれかになります。
- "証明書チェーンは処理されましたが、root証明書で停止されました。証明書は信頼プロバイダーから信頼されていません" のようなメッセージが表示されます NU3028
- "リポジトリのプライマリ署名の有効期間が期限切れになりました" のようなメッセージが表示されます NU3037。
Note
このオプションは NuGet 6.0.0 以降で使用でき、上記の Windows 固有のエラーにのみ適用されます。 このオプションは他のシナリオには適用されず、Linux または macOS には影響しません。
NuGet 6.8.0 および .NET 8 SDK より前のバージョンでは、このオプションは既定で無効になっています。
NuGet 6.8.0 および .NET 8 SDK 以降では、このオプションは Windows では既定で有効になっています。 環境変数は、3,1000
の既定値をオーバーライドする場合やオプトアウトする場合を除き、明示的に設定する必要はありません。オプトアウトするには、環境変数に値 0
を設定します。
再試行回数とスリープ間隔をそれぞれミリ秒単位で表す 2 つのコンマ区切り記号の正の整数で構成される値でNUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY
の名前付き環境変数を設定して、Windows で信頼されていないrootエラーに対する試験的な自動再試行を有効にできます。 適切な値を選択する必要があります。
例えば、環境変数を次のような値 3,1000
に設定します。
set NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY=3,1000
...は、各試行間に 1 秒 (1,000 ms) の最大 4 回 (最初の試行と 3 回の再試行) を試行しようとします。