NuGet エラー NU3001
シナリオ 1
証明書ファイル「certificate.pfx」に無効なパスワードが指定されました。 「-CertificatePassword」オプションを使用して有効なパスワードを指定します。
問題点
パスワードで保護された証明書ファイルが NuGet Sign 操作に提供されました。 ただし、パスワードが無効か、またはパスワードが指定されていませんでした。
解決策
パスワードで保護された証明書ファイルを使用して NuGet パッケージに署名する場合は、正しいパスワードを渡す -CertificatePassword
オプションを使用してください。
シナリオ 2
証明書ファイル「certificate.pfx」が見つかりません。 証明書を提示する認められた方法のリストについては、「https://docs.nuget.org/docs/reference/command-line-reference」にアクセスしてください。
問題点
NuGet Sign 操作に証明書ファイルが提供されました。 ただし、ディスク上にファイルが存在しません。
解決策
NuGet パッケージの署名に使用されている証明書ファイルがディスク上に存在することを確認してください。
シナリオ 3
証明書ファイル「random_file.txt」が無効です。 証明書を提示する認められた方法のリストについては、「https://docs.nuget.org/docs/reference/command-line-reference」にアクセスしてください。
問題点
NuGet Sign 操作に証明書ファイルが指定されましたが、ファイルが有効な証明書ファイルではありません。
解決策
NuGet パッケージの署名に使用されている証明書ファイルが有効な証明書ファイルであることを確認してください。
シナリオ 4
すべての条件を満たす複数の証明書が見つかりました。 「-CertificateFingerprint」オプションを目的の証明書のハッシュと一緒に使用します。
問題点
この -CertificateSubjectName
オプションを使用して、NuGet Sign コマンドに証明書が提案されました。 ただし、Windows 証明書ストアの証明書サブジェクト名と一致する複数の証明書が見つかりました。
解決策
目的の証明書のハッシュを含む '-CertificateFingerprint' オプションを NuGet Sign コマンドに渡して、証明書を一意に識別してください。
シナリオ 5
すべての条件を満たす証明書は見つかりませんでした。 証明書を提示する認められた方法のリストについては、「https://docs.nuget.org/docs/reference/command-line-reference」にアクセスしてください。
問題点
この -CertificateSubjectName
オプションを使用して、NuGet Sign コマンドに証明書が提案されました。 ただし、Windows 証明書ストアの証明書サブジェクト名と一致する証明書が見つかりませんでした。
解決策
適切なサブジェクト名フィルターを渡していることを確認してください。それ以外の場合は、目的の証明書のハッシュを含む '-CertificateFingerprint' オプションを NuGet Sign コマンドに渡して、証明書を一意に識別してください。
シナリオ 6
秘密キー プロバイダーがサポートされていないため、次の証明書はパッケージ署名には使用できません: サブジェクト名: CN=証明書のサブジェクト名
SHA1 ハッシュ: HASH
SHA256 ハッシュ: HASH
発行元: 発行者のサブジェクト名
有効期間: 2016 年 4 月 9 日午後 5:00:00 から 2020 年 4 月 14 日午前 5:00:00 まで
問題点
サポートされていない秘密鍵プロバイダーを持つ NuGet Sign コマンドに証明書が渡されました。
解決策
現在、フレームワークの制限により、NuGet sign コマンドは CNG キーの秘密鍵プロバイダーをサポートしていません。 CAPI 秘密鍵プロバイダーで証明書を使用してください。
シナリオ 7
パッケージには既に署名が含まれています。 新しい署名を追加する前に既存の署名を削除します。
問題点
NuGet Sign コマンドは、パッケージの署名が既にあるパッケージに署名するために使用されました。
解決策
署名されていないパッケージに署名していることを確認してください。 パッケージが既に署名されている場合は、-Overwrite
オプションを使用して既存の署名を上書きしてください。