NuGet 警告 NU3028

NuGet 4.6.0+

The author primary signature's timestamp found a chain building issue: The revocation function was unable to check revocation because the revocation server could not be reached. For more information, visit 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 に設定された場合、警告は情報レベルへとダウングレードされます。

The author primary signature's timestamp found a chain building issue: The revocation function was unable to check revocation because the certificate is not available in the cached certificate revocation list and NUGET_CERT_REVOCATION_MODE environment variable has been set to offline. For more information, visit https://aka.ms/certificateRevocationMode.

Note

ほとんどの場合、NU3028 はエラーとして発生します。 NuGet の署名検証モードが受け入れ(デフォルト)に設定されている場合 、場合によっては NU3028 が警告として発生します。