ナビゲーション
远程代码签名服务提供多种客户端、系统 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 対応ソフトウェアに適しています。
次の 2 種類の 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、およびよく使われるコード署名タイムスタンプサービスを紹介します。