導覽
遠端程式碼簽章服務提供多種用戶端、系統 Provider、開發介面和自動化整合方式。
如果你不確定應該選擇哪種方式,可以根據使用情境從下面開始。
如何選擇整合方式
| 使用情境 | 推薦方式 |
|---|---|
| 使用官方命令列工具直接對 EXE、DLL、MSI 等檔案進行簽章 | 用戶端工具 |
| 在 macOS 上透過 Homebrew 安裝程式碼簽章用戶端 | 用戶端工具 |
| Microsoft SignTool、Visual Studio、MSBuild 等 Windows 工具需要直接使用遠端私密金鑰 | Windows Provider |
| 需要相容傳統 Windows CryptoAPI / CSP 應用程式 | Windows Provider |
使用 jarsigner 對 Java JAR 檔案進行簽章 | Java 整合 |
| 在 GitHub Actions 中自動完成程式碼簽章 | CI/CD 與建置工具 |
| 使用 Electron Builder 自動完成 Windows 應用程式簽章 | CI/CD 與建置工具 |
| 使用 Advanced Installer 建置與簽署安裝套件 | CI/CD 與建置工具 |
| 自行開發用戶端或直接呼叫遠端簽署服務 | API 整合 |
| 查詢簽署次數、時間戳伺服器等公開資訊 | 參考資料 |
用戶端工具
適用於希望直接使用 sslTrus 官方用戶端完成程式碼簽署的使用者。
主要包括:
- SignTool CLI:透過命令列直接完成檔案簽署。
- 簽署額度查詢:查詢憑證剩餘及總簽署次數。
- 用戶端更新:查詢並安裝最新版本。
- Homebrew:在 macOS 上安裝 CLI 或桌面用戶端。
Windows Provider
適用於 Microsoft SignTool、Visual Studio、MSBuild、安裝套件工具以及其他支援 Windows Cryptography API 的軟體。
提供兩種 Provider:
- KSP(Key Storage Provider):基於 Windows CNG,適合現代 Windows 簽署流程。
- CSP(Cryptographic Service Provider):基於傳統 CryptoAPI,適合需要 CSP 相容性的應用。
簽署私鑰始終儲存在雲端 HSM 中,本機 Provider 負責將簽署請求傳送到遠端程式碼簽署服務。
Java 整合
適用於 Java 程式碼簽署情境。
透過 sslTrus 提供的 Java Provider,可以使用標準 jarsigner 工具對 JAR 檔案執行遠端程式碼簽署。
CI/CD 與建置工具
適用於需要將程式碼簽署整合到自動建置、發佈或封裝流程中的情境。
目前包括:
- GitHub Actions
- Electron Builder
- Advanced Installer
後續其他 CI/CD 或建置工具的整合方式也將在此頁面提供。
API 整合
適用於需要自行開發程式碼簽署用戶端或將遠端簽署能力整合到現有系統中的開發者。
遠端程式碼簽署 API 支援:
- 提交待簽署摘要並取得簽署結果。
- 回報用戶端最終簽署處理狀態。
呼叫方負責在本機完成檔案摘要計算、簽署結構處理以及最終簽署結果寫入。
參考資料
這裡提供適用於多種整合方式的公共參考資訊,包括:
- 簽名次數計算說明:說明 CLI、KSP、CSP、Jarsigner、Electron 和安裝套件等情境如何計算簽名次數。
- 時間戳伺服器:介紹 Authenticode、RFC 3161 以及常用程式碼簽名時間戳服務。