NuGet 警告 NU3028
NuGet 4.6.0+
作成者のプライマリ署名のタイムスタンプにチェーン構築の問題が見つかりました。失効サーバーに到達できなかったため、失効関数が失効を確認できませんでした。 詳細については、 https://aka.ms/certificateRevocationMode にアクセスしてください
問題点
タイムスタンプ署名の証明書チェーンの構築に失敗しました。 タイムスタンプ署名証明書が信頼されていないか、失効しているか、または証明書の失効情報が入手できません。
Windows のみに、ルート証明書が初めて確認されたときに、NU3028 は発生し、"証明書チェーンは正しく処理されましたが、信頼プロバイダーによって信頼されていないルート証明書で終了されました" というメッセージが表示されることがあります。再試行で問題が解決された場合は、 役に立つ可能性のあるオプションがあります。
解決策
信頼された有効な証明書を使用します。 インターネット接続を確認してください。
Linux と macOS については、NuGet の署名付きパッケージの検証を参照してください。 具体的には、Linux および macOS での信頼されていないルート証明書の警告/エラーについては、NU3042 も参照してください。
失効チェックモード
Note
このオプションは、NuGet 4.8.1 以降で使用できます。
マシンのインターネット アクセスが制限されている場合 (CI/CD シナリオでのビルド マシンなど)、失効サーバーには到達できないため、署名済みの nuget パッケージからのこの警告が発生します。 これは予期されることです。
ただし、場合によっては、これによって通常よりも時間がかるパッケージのインストール/復元など、意図しない結果を引き起こす場合があります。 その場合は、NUGET_CERT_REVOCATION_MODE
環境変数を offline
に設定して回避できます。 これにより、NuGet は、キャッシュされた証明書失効リストに対してのみ証明書の失効ステータスをチェックするように設定され、NuGet は失効サーバーへのアクセスを試行しなくなります。
警告
通常の状況では、失効チェック モードをオフラインに切り替えることはおすすめしません。 オフラインに切り替えると、NuGet はオンライン失効チェックをスキップして、キャッシュされた証明書失効リスト (期限切れの場合もある) に対するオフライン失効チェックのみを実行します。 これは、証明書の署名が失効済みになった可能性のあるパッケージが、引き続きインストール/復元されることを意味します。オフラインに切り替えなければ、失効チェックでエラーになり、インストールされなかったはずのパッケージです。
失効チェック モードが offline
に設定された場合、警告は情報レベルへとダウングレードされます。
作成者のプライマリ署名のタイムスタンプにチェーン構築の問題が見つかりました。証明書はキャッシュされた証明書失効リストで利用できず、NUGET_CERT_REVOCATION_MODE の環境変数はオフラインに設定されため、失効関数は失効を確認できませんでした。 詳細については、https://aka.ms/certificateRevocationMode を参照してください。
Note
ほとんどの場合、NU3028 はエラーとして発生します。 NuGet の署名検証モードが受け入れ(デフォルト)に設定されている場合 、場合によっては NU3028 が警告として発生します。