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
(預設值),quiet
或detailed
。
範例
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