自訂密碼編譯服務提供者 (CSP) 的第三方 Authenticode 簽署可在 Windows Vista 和更新版本中使用。
因此,Microsoft 將不再簽署 CSP,而且手動 CSP 簽署服務已淘汰。 Microsoft 將不再處理傳送至 cspsign@microsoft.com 或 cecspsig@microsoft.com 的電子郵件和需簽署的 CSP。
而是,所有第三方 CSP 現在都可以遵循下列程序自行簽署:
- 從憑證授權單位 (CA) 購買程式碼簽署憑證,Microsoft 也會為其發行交叉憑證。 核心模式程式代碼簽署的交叉憑證主題提供 Microsoft 所提供的交叉憑證的 CA 清單以及相應的交叉憑證。 請注意,這些是唯一鏈結至 Microsoft 發行的「Microsoft 程式碼驗證根目錄」的交叉憑證,可讓 Windows 執行第三方 CSP。
- 取得來自 CA 的憑證和相符的交互憑證之後,您可以使用 SignTool 來簽署所有 CSP 二進位檔。
- 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 桌面應用程式安全性 論壇以取得協助。