分享方式:


sign 命令 (NuGet CLI)

適用於: 套件建立 • 支援的版本: 4.6+

使用憑證簽署符合第一個自變數的所有套件。 使用私鑰的憑證可以透過提供主體名稱或指紋,從證書存儲中安裝的檔案或憑證取得。

注意

.NET Core、Mono 或非 Windows 平臺上尚不支援套件簽署。

使用方式

nuget sign <package(s)> [options]

其中 <package(s)> 是一或多個 .nupkg 檔案。

選項。

  • -CertificateFingerprint

    指定要用來在本機證書存儲中搜尋憑證的指紋。

    從 NuGet.exe 6.12 開始,此選項可用來指定憑證的 SHA-1、SHA-256、SHA-384 或 SHA-512 指紋。 不過, NU3043 使用SHA-1 憑證指紋時,會引發警告,因為它不再被視為安全。

    所有舊版的NuGet.exe會繼續只接受SHA-1 憑證指紋。

  • -CertificatePassword

    視需要指定憑證密碼。 如果憑證受到密碼保護,但未提供密碼,除非 -NonInteractive 傳遞選項,否則命令會在運行時間提示輸入密碼。

  • -CertificatePath

    指定簽署套件時要使用的憑證的檔案路徑。

  • -CertificateStoreLocation

    指定用於搜尋憑證的 X.509 憑證存放區。 預設為 「CurrentUser」,這是目前使用者所使用的 X.509 證書存儲。 若要透過 -CertificateSubjectName-CertificateFingerprint 選項指定憑證,就必須使用此選項。

  • -CertificateStoreName

    指定用於搜尋憑證的 X.509 憑證存放區的名稱。 默認為 「My」,這是個人憑證的 X.509 證書存儲。 若要透過 -CertificateSubjectName-CertificateFingerprint 選項指定憑證,就必須使用此選項。

  • -CertificateSubjectName

    指定用於在本機憑證存放區中搜尋憑證的憑證主體名稱。 搜尋是使用提供的值不區分大小寫的字串比較,不論其他主體值為何,都會尋找包含該字串之主體名稱的所有憑證。 您可透過 -CertificateStoreName-CertificateStoreLocation 選項指定憑證存放區。

  • -ConfigFile

    要套用的 NuGet 組態檔。 如果未指定, %AppData%\NuGet\NuGet.Config 則會使用 (Windows) 或 ~/.nuget/NuGet/NuGet.Config ~/.config/NuGet/NuGet.Config (Mac/Linux)。

  • -ForceEnglishOutput

    強制nuget.exe使用非變異的英文文化特性來執行。

  • -HashAlgorithm

    要用於簽署套件的雜湊演算法。 預設為 SHA256。 可能的值包含 SHA256、SHA384 與 SHA512。

  • -?|-help

    顯示命令的說明資訊。

  • -NonInteractive

    隱藏使用者輸入或確認的提示。

  • -OutputDirectory

    指定已簽署套件應儲存至哪個目錄。 根據預設,原始套件會由已簽署的套件覆寫。

  • -Overwrite

    切換以指出是否應該覆寫目前的簽章。 根據預設,如果套件已有簽章,此命令會失敗。

  • -Timestamper

    RFC 3161 時間戳記伺服器的 URL。

  • -TimestampHashAlgorithm

    RFC 3161 時間戳記伺服器要使用的雜湊演算法。 預設為 SHA256。

  • -Verbosity [normal|quiet|detailed]

    指定輸出中顯示的詳細資料量: normal (預設值), quietdetailed

範例

nuget sign MyPackage.nupkg -CertificatePath .\..\certificate.pfx -Timestamper http://timestamp.test

nuget sign .\..\MyPackage.nupkg -CertificateStoreLocation CurrentUser -CertificateStoreName My -CertificateSubjectName 'subject name' -Timestamper http://timestamp.test -OutputDirectory .\..\Signed