Signcode.exe (檔案簽署工具)

檔案簽章工具可以使用 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 使用憑證的最高使用權限。

-aAlgorithm - 演算法

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

-cfile

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

-cnname

指定憑證的通用名稱。

-iinfo

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

-jdllName

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

-jpparam

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

-kkeyname

指定金鑰容器名稱。

-kykeytype

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

-nname

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

-pProvider - 提供者

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

-rlocation

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

-sstore

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

-sha1thumbprint

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

-sppolicy

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

-spcfile

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

-tURL

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

-trnumber

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

-tw number

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

-vpvkFile

指定含有私密金鑰的私密金鑰 (.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

請參閱

參考

Makecert.exe (憑證建立工具)

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

Visual Studio 命令提示字元

概念

安全性權限

其他資源

.NET Framework 工具