共用方式為


協力廠商密碼編譯服務提供者的 Authenticode 簽署 (CSP)

Windows Vista 和更新版本中提供自訂密碼編譯服務提供者的協力廠商 Authenticode 簽署 (CSP) 。

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

相反地,所有協力廠商 CSP 現在都可以依照下列程式自我簽署:

  1. 從憑證授權單位單位 (CA) 購買程式碼簽署憑證,Microsoft 也會發行跨憑證。 核心模式程式碼簽署的跨憑證主題提供 CA 清單,Microsoft 也會提供跨憑證和對應的跨憑證。 請注意,這些是鏈結至 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>
  • <跨certificate_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 桌面的應用程式安全性 論壇以取得協助。