NuGet エラー NU3001

シナリオ 1

Invalid password was provided for the certificate file 'certificate.pfx'. Provide a valid password using the '-CertificatePassword' option.

問題点

パスワードで保護された証明書ファイルが NuGet Sign 操作に提供されました。 ただし、パスワードが無効か、またはパスワードが指定されていませんでした。

解決策

パスワードで保護された証明書ファイルを使用して NuGet パッケージに署名する場合は、正しいパスワードを渡す -CertificatePassword オプションを使用してください。

シナリオ 2

Certificate file 'certificate.pfx' not found. For a list of accepted ways to provide a certificate, visit https://docs.nuget.org/docs/reference/command-line-reference.

問題点

NuGet Sign 操作に証明書ファイルが提供されました。 ただし、ディスク上にファイルが存在しません。

解決策

NuGet パッケージの署名に使用されている証明書ファイルがディスク上に存在することを確認してください。

シナリオ 3

Certificate file 'random_file.txt' is invalid. For a list of accepted ways to provide a certificate, visit https://docs.nuget.org/docs/reference/command-line-reference.

問題点

NuGet Sign 操作に証明書ファイルが指定されましたが、ファイルが有効な証明書ファイルではありません。

解決策

NuGet パッケージの署名に使用されている証明書ファイルが有効な証明書ファイルであることを確認してください。

シナリオ 4

Multiple certificates were found that meet all the given criteria. Use the '-CertificateFingerprint' option with the hash of the desired certificate.

問題点

この -CertificateSubjectName オプションを使用して、NuGet Sign コマンドに証明書が提案されました。 ただし、Windows 証明書ストアの証明書サブジェクト名と一致する複数の証明書が見つかりました。

解決策

目的の証明書のハッシュを含む '-CertificateFingerprint' オプションを NuGet Sign コマンドに渡して、証明書を一意に識別してください。

シナリオ 5

No certificates were found that meet all the given criteria. For a list of accepted ways to provide a certificate, visit https://docs.nuget.org/docs/reference/command-line-reference.

問題点

この -CertificateSubjectName オプションを使用して、NuGet Sign コマンドに証明書が提案されました。 ただし、Windows 証明書ストアの証明書サブジェクト名と一致する証明書が見つかりませんでした。

解決策

適切なサブジェクト名フィルターを渡していることを確認してください。それ以外の場合は、目的の証明書のハッシュを含む '-CertificateFingerprint' オプションを NuGet Sign コマンドに渡して、証明書を一意に識別してください。

シナリオ 6

The following certificate cannot be used for package signing as the private key provider is unsupported:
  Subject Name: CN=Certificate Subject Name
  SHA1 hash: HASH
  SHA256 hash: HASH
  Issued by: Issuer Subject Name
  Valid from: 4/9/2016 5:00:00 PM to 4/14/2020 5:00:00 AM

問題点

サポートされていない秘密鍵プロバイダーを持つ NuGet Sign コマンドに証明書が渡されました。

解決策

現在、フレームワークの制限により、NuGet sign コマンドは CNG キーの秘密鍵プロバイダーをサポートしていません。 CAPI 秘密鍵プロバイダーで証明書を使用してください。

シナリオ 7

The package already contains a signature. Remove the existing signature before adding a new signature.

問題点

NuGet Sign コマンドは、パッケージの署名が既にあるパッケージに署名するために使用されました。

解決策

署名されていないパッケージに署名していることを確認してください。 パッケージが既に署名されている場合は、-Overwrite オプションを使用して既存の署名を上書きしてください。