Share via


檔案簽署工具 (Signcode.exe)

更新:2007 年 11 月

檔案簽章工具可以使用 Authenticode 數位簽章以簽名可移植的執行檔 (PE) (.dll 或 .exe 檔)。您可以簽名組件或包含在多檔案組件中的個別檔案。在散發組件時,您應該簽名這個組件而不是個別的檔案。執行 Signcode.exe 而沒有指定任何選項時,會啟動一個協助簽名的精靈。

檔案簽章工具僅隨附於 .NET Framework SDK 1.0 版和 1.1 版中。在較新版本中,請改用簽署工具 (signtool.exe) 公用程式。

 signcode [options] filename | assemblyname

參數

引數

描述

filename

要簽名的 PE 檔名稱。

assemblyname

要簽名的組件名稱。這個檔案必須包含組件資訊清單 (Assembly Manifest)。

選項

描述

-$ authority

指定憑證的簽名授權單位,必須是 individualcommercial。依預設值,Signcode.exe 使用憑證的最高使用權限。

-a algorithm

指定簽名的雜湊演算法,必須是 md5 (預設值) 或 sha1

-c file

指定含有編碼的軟體發行憑證的檔案。

-cn name

指定憑證的通用名稱。

-i info

指定位置來取得內容的詳細資訊 (通常是 URL)。

-j dllName

指定 DLL 的名稱,其為簽名檔案傳回已驗證的屬性陣列。您可以重複 -j 選項來指定一個以上的 DLL。

-jp param

指定要傳遞給前置的 DLL 的參數。-j dll1 -jp dll1Param。工具只允許每個 DLL 有一個參數。

-k keyname

指定金鑰容器名稱。

-ky keytype

指定金鑰類型,必須是 signatureexchange 或整數 (例如 4)。

-n name

指定文字名稱,其表示要簽名的檔案內容。

-p provider

指定系統上密碼編譯提供者 (Provider) 的名稱。

-r location

指定登錄中憑證存放區的位置,必須是 currentuser (預設值) 或 localmachine

-s store

指定含有簽名憑證的憑證存放區。預設是 my 存放區。

-sha1 thumbprint

指定 thumbprint,是包含在憑證存放區的簽章憑證的 sha1 雜湊。

-sp policy

設定憑證存放區原則,必須是 spcStore (預設值) 或 chain。如果指定 chain,所有在驗證鏈結中的憑證 (包含自動簽名的憑證) 會加入至簽章中。如果指定 spcStore,信任且自動簽名的憑證不包含在鏈結的憑證中,這些憑證會加入至簽章。

-spc file

指定含有軟體發行憑證的 SPC 檔案。

-t URL

指示要由時間戳記伺服器在指定的 HTTP 位址加上時間戳記的檔案。

-tr number

指定時間戳記直到成功之前所試用的最大次數;預設為 1。

-tw number

指定每個時間戳記試用之間的延遲 (以秒數為單位)。預設為 0。

-v pvkFile

指定含有私密金鑰的私密金鑰 (.pvk) 檔名。

-x

將檔案加上時間戳記但不簽名。

-y type

指定要使用的密碼編譯提供者類型。

密碼編譯提供者包含密碼編譯標準和演算法的實作。如需預設提供者類型的清單,請參閱 Platform SDK 中的<Microsoft 密碼編譯服務提供者>。

-?

顯示工具的命令語法和選項。

備註

若要以軟體發行者憑證 (SPC) 檔案簽署,且您的私密金鑰是 PVK 檔案時,則必須指定 -spc-v 選項。如果您的私密金鑰是在登錄金鑰容器中,就必須指定 -spc-k 選項。如果想要以 SPC 檔案簽名檔案,必須使用憑證建立工具軟體發行者憑證測試工具來建立 SPC 檔案。

範例

下列命令會使用 XYZ.spc 軟體發行者憑證和 XYZ 登錄金鑰容器中的私密金鑰簽名 XYZ.exe。

signcode /spc XYZ.spc /k XYZ XYZ.exe

下列命令會使用 myCertificate.spc 中的憑證和 myKey.pvk 中的私密金鑰簽名組件 myAssembly。

signcode /spc myCertificate.spc /v myKey.pvk  myAssembly

請參閱

概念

安全性權限

參考

.NET Framework 工具

憑證建立工具 (Makecert.exe)

軟體發行者憑證測試工具 (Cert2spc.exe)

SDK 命令提示字元