分享方式:


NuGet 錯誤 NU3001

案例 1

憑證檔案 'certificate.pfx' 的密碼無效。 使用 『-CertificatePassword』 選項提供有效的密碼。

問題

已將受密碼保護的憑證檔案提供給 NuGet 簽署作業。 但未提供無效或沒有密碼。

解決方案

如果您使用受密碼保護的憑證檔案來簽署 NuGet 套件,請使用 -CertificatePassword 選項來傳遞正確的密碼。

案例 2

找不到憑證檔案 『certificate.pfx』。 如需提供憑證的已接受方式清單,請造訪 https://docs.nuget.org/docs/reference/command-line-reference

問題

已將憑證檔案提供給 NuGet 簽署作業。 但是檔案不存在於磁碟上。

解決方案

請確定任何用來簽署 NuGet 套件的憑證檔案都存在於磁碟上。

案例 3

憑證檔案 'random_file.txt' 無效。 如需提供憑證的已接受方式清單,請造訪 https://docs.nuget.org/docs/reference/command-line-reference

問題

憑證檔案已提供給 NuGet 簽署作業,但檔案不是有效的憑證檔案。

解決方案

請確定任何用來簽署 NuGet 套件的憑證檔案都是有效的憑證檔案。

案例 4

找到符合所有指定準則的多個憑證。 使用 『-CertificateFingerprint』 選項搭配所需憑證的哈希。

問題

使用 選項向 NuGet Sign 命令建議憑證 -CertificateSubjectName 。 但找到多個憑證,以符合 Windows 證書存儲中的憑證主體名稱。

解決方案

請將具有所需憑證哈希的 『-CertificateFingerprint』 選項傳遞給 NuGet Sign 命令,以唯一識別憑證。

案例 5

找不到符合所有指定準則的憑證。 如需提供憑證的已接受方式清單,請造訪 https://docs.nuget.org/docs/reference/command-line-reference

問題

使用 選項向 NuGet Sign 命令建議憑證 -CertificateSubjectName 。 但是找不到符合 Windows 證書存儲中憑證主體名稱的憑證。

解決方案

請確定您傳遞正確的主體名稱篩選,否則請將 『-CertificateFingerprint』 選項與所需憑證的哈希傳遞至 NuGet Sign 命令,以唯一識別憑證。

案例 6

下列憑證無法用於套件簽署,因為不支援私鑰提供者:主體名稱:CN=憑證主體名稱
SHA1 哈希:HASH
SHA256 哈希:HASH
發行者:簽發者主體名稱
有效期:2016/4/9 下午 5:00:00 至 2020/4/14 5:00:00 AM

問題

憑證已傳遞至 NuGet Sign 命令,該命令具有不支援的 pribvate 金鑰提供者。

解決方案

目前,由於架構限制,NuGet sign 命令不支援 CNG 金鑰私鑰提供者。 請搭配 CAPI 私鑰提供者使用憑證。

案例 7

套件已包含簽章。 新增簽章之前,請先移除現有的簽章。

問題

NuGet Sign 命令用來簽署已經具有套件簽章的套件。

解決方案

請確定您正在簽署未簽署的套件。 如果封裝已經簽署,請使用 -Overwrite 選項來覆寫現有的簽章。