共用方式為


第三方密碼編譯服務提供者 (CSP) 的 Authenticode 簽署

自訂密碼編譯服務提供者 (CSP) 的第三方 Authenticode 簽署可在 Windows Vista 和更新版本中使用。

因此,Microsoft 將不再簽署 CSP,而且手動 CSP 簽署服務已淘汰。 Microsoft 將不再處理傳送至 cspsign@microsoft.com 或 cecspsig@microsoft.com 的電子郵件和需簽署的 CSP。

而是,所有第三方 CSP 現在都可以遵循下列程序自行簽署:

  1. 從憑證授權單位 (CA) 購買程式碼簽署憑證,Microsoft 也會為其發行交叉憑證。 核心模式程式代碼簽署的交叉憑證主題提供 Microsoft 所提供的交叉憑證的 CA 清單以及相應的交叉憑證。 請注意,這些是唯一鏈結至 Microsoft 發行的「Microsoft 程式碼驗證根目錄」的交叉憑證,可讓 Windows 執行第三方 CSP。
  2. 取得來自 CA 的憑證和相符的交互憑證之後,您可以使用 SignTool 來簽署所有 CSP 二進位檔。
  3. SignTool 包含在最新版本的 Visual Studio 中。 它也包含在 WDK 7.0 版和更新版本中。 請注意,舊版 WDK 隨附的 SignTool 與交互憑證不相容,而且無法用來簽署二進位檔。

備註

從 Windows 8 開始,不再需要簽署 CSP。

您可以從命令列簽署二進位檔,或在 Visual Studio 2012 和更新版本中簽署為整合式建置步驟。

SignTool 的命令是:

signtool.exe sign /ac <cross-certificate_from_ms> /sha1 <sha1_hash> /t <timestamp_server> /d <”optional_description_in_double_quotes”> <binary_file.ext>
  • <交叉憑證_from_ca> 是您從 Microsoft 下載的交叉憑證檔案
  • <sha1_hash> 是對應至程式碼簽署憑證的 SHA1 指紋
  • <timestamp_server> 是用來為簽署作業加上時間戳記的伺服器
  • <「optional_description_in_double_quotes」> 是可選的友好名稱說明
  • <binary_file.ext> 是要簽署的檔案

例如:

signtool.exe sign /ac certificate.cer /sha1 553e39af9e0ea8c9edcd802abbf103166f81fa50 /t "http://timestamp.digicert.com" /d "My Cryptographic Service Provider" csp.dll

備註

現在不需要在 CSP DLL 中包含資源識別碼 #666,也不需要在登錄中包含簽章,這是舊版 CSP 簽章的要求。

其他幫助和支持

您可以嘗試 Windows 桌面應用程式安全性 論壇以取得協助。