NuGet 错误 NU3001
方案 1
为证书文件“certificate.pfx”提供的密码无效。 使用“-CertificatePassword”选项提供有效的密码。
问题
向 NuGet 签名操作提供了受密码保护的证书文件。 但提供了无效密码或未提供密码。
解决方案
如果使用受密码保护的证书文件对 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
选项覆盖现有签名。