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
選項來覆寫現有的簽章。