Delphi 向け コード・文書署名ツール — 比較ガイド

2026 年に Delphi および C++ Builder 開発者が利用できるコード署名・文書署名ツールの中立的でソース引用付きの調査です。sgcSign、Microsoft SignTool、osslsigncode、Azure Trusted Signing、DigiCert Software Trust Manager、jsign、Adobe Acrobat、iText / Apryse PDF SDK を取り上げます。すべての機能説明はプロジェクトの公式ドキュメントにリンクしています。

コード・文書署名の 8 つの選択肢

各オプションの 1 段落サマリーと公式ドキュメントまたはリポジトリへのリンクです。詳細な比較は以下のマトリックスをご覧ください。

Microsoft SignTool

Microsoft · Windows SDK EULA (free for development)

Windows 10 / Windows 11 SDK に同梱された Microsoft のコマンドライン コード署名ツールです。Windows Portable Executable ファイル(.exe、.dll、.sys、.cab、.cat)、AppX/MSIX パッケージ、ClickOnce マニフェスト、Microsoft Office VBA プロジェクトに署名してタイムスタンプを付与します(SIP メカニズム経由)。Windows 証明書ストア、PKCS#12 ファイル、スマートカード、クラウド署名サービス(CSP)プロバイダーから証明書を読み取ります。PDF、XML、ETSI XAdES / PAdES / CAdES 署名は SignTool の対象外です。

公式ページ

osslsigncode

Michał Trojnara & contributors · GPL-3.0-or-later (open source)

OpenSSL 上に構築されたオープンソースのクロスプラットフォーム Authenticode 署名ツールです。Microsoft PE バイナリ(.exe、.dll、.sys、.cab、.cat)、CAB アーカイブ、AppX/MSIX パッケージ、NuGet パッケージ、スクリプトファイルに署名します。Windows に加えて Linux、BSD、macOS でも動作します。これはプロジェクトの歴史的な理由で、Linux ビルドファームが Wine で SignTool を実行せずに Windows バイナリに署名できるようにします。RFC 3161 とレガシー Authenticode タイムスタンプをサポートし、証明書ソースには PKCS#12 ファイルと PKCS#11 ハードウェアトークンが含まれます。

公式ページ

Azure Trusted Signing

Microsoft · Commercial (Azure subscription, per-month)

Azure における Microsoft のフルマネージド コード署名サービスです(旧 Azure Code Signing)。顧客は署名証明書を所有しません。Microsoft が 3 日ごとに短期証明書を発行し、秘密鍵を Azure HSM に保管します。SignTool、GitHub Actions、Azure Pipelines、Trusted Signing PowerShell、任意の CSP 対応ツールにキーを公開する専用 dlib(Trusted Signing CSP)とのインテグレーションを提供します。Windows PE、MSIX、AppX、ClickOnce、VBScript / JScript / PowerShell スクリプトに署名します。PDF / XML 署名は対象外です。

公式ページ

DigiCert Software Trust Manager

DigiCert · Commercial (subscription)

DigiCert のクラウド コード署名プラットフォームです。秘密鍵は DigiCert がホストする FIPS 140-2 / 140-3 HSM に保管されます。smctl 署名クライアント、SignTool 用 DigiCert KSP / CSP プラグイン、ネイティブ Jenkins / GitHub Actions / Azure Pipelines インテグレーション、REST API などの専用ツール群を通じて Windows PE、Java JAR、Android APK、Linux RPM / DEB、コンテナイメージ、NuGet、Apple Mach-O バイナリなどに署名します。ドキュメント(PDF、XAdES)は別製品の DigiCert Document Trust Manager で署名します。

公式ページ

jsign

Emmanuel Bourg · Apache 2.0 (open source)

オープンソースの Java ベース Authenticode 署名ツールです。スタンドアロンコマンド、Maven / Gradle / Ant プラグイン、またはプログラム的 Java API として動作します。Microsoft PE バイナリ、MSI インストーラー、Microsoft スクリプトファイル(.ps1、.vbs、.js)、MSIX / AppX パッケージ、CAB アーカイブ、CAT カタログに署名します。単一の CLI で幅広いクラウド HSM をサポートします(AWS KMS、Azure Key Vault、Azure Trusted Signing、Google Cloud KMS、DigiCert ONE、HashiCorp Vault、Oracle Cloud KMS、Yubico YubiHSM、AWS CloudHSM(PKCS#11 経由)、任意の PKCS#11 デバイス)。

公式ページ

Adobe Acrobat / Adobe Sign

Adobe · Commercial (subscription)

Adobe Acrobat Pro と Adobe Acrobat Sign は PDF 文書に署名するエンドユーザー製品です。Acrobat Pro はタイムスタンプ付きのデジタル署名と認証済み署名を適用し、受信した PDF 署名を検証します。Acrobat Sign(旧 EchoSign)は外部当事者から電子署名を収集するクラウドサービスです。どちらも開発者ライブラリではなく、Delphi / C++ Builder SDK もコマンドライン署名ツールも含まれていません。PAdES 長期検証は Adobe 承認トラストリスト(AATL)と欧州連合トラストリスト(EUTL)を通じた検証側でサポートされています。

公式ページ

iText / Apryse

iText Group / Apryse Software (PDFTron) · Commercial (AGPL or commercial license)

サーバーサイドアプリケーションの無人 PDF 署名に広く使用されている 2 つの商用 PDF SDK です。iText Core(旧 iTextSharp)は AGPL-3.0 または商用ライセンスで Java と .NET 向けに提供されており、com.itextpdf.signatures ネームスペースは PAdES-B-B / B-T / B-LT / B-LTA、MDP(変更検出)証明、可視外観をカバーします。Apryse PDFTron は PDF.SignatureHandler API と PAdES サポートを備えた商用クロスプラットフォーム SDK です(Java、.NET、C++、Node.js、Python、Go、iOS、Android、Web)。どちらのベンダーもネイティブ Delphi バインディングを提供していません。

公式ページ

機能の並列比較

チェック()はネイティブサポートが文書化されていることを意味します。ダッシュ()はネイティブでは提供されないことを意味します。チルダ(~)は部分的 / アドオン経由 / 明示的に文書化されていないことを意味します。検証できた内容はソースセクションをご参照ください。

フォーマット、ランタイム、ライセンス

15 行
機能 sgcSign Microsoft SignTool osslsigncode Azure Trusted Signing DigiCert Software Trust Manager jsign Adobe Acrobat / Adobe Sign iText / Apryse
Windows バイナリへの署名 .exe / .dll / .sys / .ocx の Authenticode 署名
ClickOnce マニフェストへの署名 .application / .manifest ファイル ~ ~
NuGet / VSIX パッケージへの署名 .nupkg / .vsix コンテナー ~ ~ ~ ~
モバイルパッケージへの署名(APK / IPA) Android APK または iOS IPA バンドル
PDF 文書への署名(PAdES) ETSI EN 319 142、Adobe 互換 ~
Office 文書への署名 Word / Excel / PowerPoint docx / xlsx / pptx ~
XML 文書への署名(XAdES) ETSI EN 319 132 ~ ~
ネイティブ Delphi / C++ Builder API ファーストクラスの VCL / FMX コンポーネント
クロスプラットフォームツール Windows、Linux、macOS で動作 ~ ~
クラウド HSM サポート AWS / Azure / GCP / HashiCorp / CSC v2 ~ ~ ~ ~
eIDAS / 国別プロファイルプリセット 国別署名プリセット(VeriFactu、KSeF など) ~ ~ ~
スタンドアロン CLI コマンドラインクライアント同梱 ~
ライブラリ / SDK アプリケーションが呼び出すプログラム API ~ ~ ~
アクティブなメンテナンス 過去 12 ~ 18 か月のリリースまたはタグ付きアクティビティ
ライセンスモデル ライセンスの種類 Commercial Windows SDK EULA GPL-3.0-or-later Commercial (Azure subscription) Commercial (subscription) Apache 2.0 Commercial (subscription) AGPL or Commercial (iText) / Commercial (Apryse)
ネイティブサポートが文書化済み ネイティブでは提供されない ~ 部分的 / アドオン経由 / 未検証

各オプションの正直な評価

ここで紹介する各オプションには実際のユーザーがいます。適切な選択は、コード・文書のどちらに署名するか(または両方か)、署名ロジックをホストするランタイム、鍵管理の好み、ライセンスの好みによって異なります。

sgcSign を選ぶ場合

Delphi 7~13、C++ Builder、.NET でアプリケーションを構築し、同じキープロバイダー抽象から文書署名(XAdES、PAdES、CAdES、ASiC)とコード署名(Authenticode、ClickOnce、NuGet、VSIX、PowerShell)の両方を生成する 1 つのコンポーネントスイートを求める場合は sgcSign を選んでください。21 の事前設定済み国別プロファイルが欧州の電子請求書と eIDAS 雇用契約署名をカバーし、サーバー形態がビルドファームの鍵管理を一元化します。

Microsoft SignTool を選ぶ場合

署名するアーティファクトがすべて Windows バイナリ(PE / .cab / AppX / MSIX)でビルドホストが Windows の場合は Microsoft SignTool を選んでください。SignTool は CSP / KSP を提供するすべてのクラウド署名サービス(DigiCert KeyLocker、Azure Trusted Signing、GlobalSign Atlas など)とペアになるリファレンス CLI であり、Windows SDK インストールは無料です。

osslsigncode を選ぶ場合

ビルドホストが Linux、BSD、macOS で、署名するアーティファクトが Windows バイナリ(CAB アーカイブ、PE ファイル、MSIX パッケージ、NuGet パッケージ)の場合は osslsigncode を選んでください。GPL-3.0 ライセンスは OpenSSL と PKCS#11 ハードウェアトークンをすでに使用している CI パイプラインに自然に適合します。

Azure Trusted Signing を選ぶ場合

Microsoft が証明書と HSM を管理するフルマネージドの Windows コード署名サービスが必要で、チームがすでに Azure で運用しており、署名するアーティファクトが Windows PE、MSIX、AppX、ClickOnce、PowerShell の場合は Azure Trusted Signing を選んでください。短命証明書モデルにより、コード署名証明書を所有する際の更新と本人確認の負担がなくなります。

DigiCert Software Trust Manager を選ぶ場合

DigiCert のコード署名証明書をすでに購入しており、更新・失効・監査のための単一ペインで FIPS 検証済み HSM に保管したい場合は DigiCert Software Trust Manager を選んでください。ネイティブ smctl クライアントと SignTool KSP プラグインが 1 つのワークフローで Windows バイナリ、Java JAR、コンテナイメージ、モバイルパッケージをカバーします。

jsign を選ぶ場合

ビルドパイプラインがすでに JVM ツールチェーン(Maven、Gradle、Ant、JDK 上の Jenkins)で動作しており、主要なクラウド HSM をすべて駆動する 1 つの CLI が必要で、署名するアーティファクトが Windows PE / MSI / MSIX / スクリプトファイルの場合は jsign を選んでください。Apache 2.0 ライセンスはクローズドソースのビルドフローにきれいに適合します。

Adobe Acrobat / Adobe Sign を選ぶ場合

署名ワークフローが対話的で人間が主導する場合(担当者が Acrobat で PDF を開き、可視署名を配置してファイルを送信する)は Adobe Acrobat / Adobe Sign を選んでください。Acrobat Sign はそのパターンをメール経由で収集する複数当事者の署名フローに拡張します。ビルド時またはサーバーサイドの自動化は不要です。

iText / Apryse を選ぶ場合

アプリケーションが Java、.NET、C++ またはサポートされている他のランタイムで構築されており、PDF が主要なドキュメント形式の場合は iText または Apryse PDFTron を選んでください。両 SDK は成熟した PAdES サポート、署名以外の強力な PDF 機能カバレッジ(フォーム、墨消し、レンダリング)、著名な企業導入実績があります。

sgcSign への移行 — 何が違うか

上記のオプションから切り替える場合の相違点に関する短いノートです。競合的な内容ではなく、実用的なマッピングです。

Microsoft SignTool からの移行

SignTool は Windows コード署名のみをカバーします。アプリケーションがビルドスクリプトから SignTool を呼び出している場合、sgcSign Server はバイナリとプロバイダー名を受け取り署名済みアーティファクトを返す REST 署名エンドポイントを公開します。同じワークフローですが、Authenticode 操作が一元的に実行され、監査証跡、承認ワークフロー、プロジェクト別クォータが 1 か所に集約されます。文書署名(XAdES / PAdES / CAdES / ASiC)も同じデーモンから利用できます。

osslsigncode からの移行

ビルドパイプラインが Linux ビルドエージェントから osslsigncode を使って Windows バイナリに Authenticode 署名している場合、sgcSign Server は HTTPS API を通じた同じフローを提供し、すでに使用している PKCS#11 パスに加えて AWS KMS、Azure Trusted Signing、Google Cloud KMS、HashiCorp Vault のファーストクラスドライバーを追加します。ドキュメント形式(PDF / XML / CMS)も同じエンドポイントから利用できます。

Azure Trusted Signing からの移行

sgcSign は Azure Trusted Signing を 10 のキープロバイダーの 1 つとして公開します(TsgcAzureTrustedSigningProvider)。Delphi または C++ Builder アプリケーションは Azure Trusted Signing を直接駆動できます。同じ秘密鍵、同じ Microsoft 発行の公開信頼証明書ですが、署名者はインプロセスで実行されます。PDF / XAdES / CAdES 文書署名も必要な場合、同じキープロバイダーが文書署名者にサービスを提供します。

DigiCert Software Trust Manager からの移行

現在 smctl で Windows バイナリに署名している場合、sgcSign Server は DigiCert が公開する PKCS#11 プロバイダー経由で同じコード署名証明書を駆動し、上にファーストクラスの XAdES / PAdES / CAdES 文書署名を追加します。1 つのデーモンからコード署名と文書署名の両方が必要なアプリケーションに有用です。

jsign からの移行

jsign は幅広いクラウド HSM にわたる Windows コード署名をカバーします。sgcSign Server はクラウド HSM マトリックス(AWS KMS、Azure Trusted Signing、Google Cloud KMS、HashiCorp Vault)で重複し、ETSI 文書署名(PAdES、XAdES、CAdES、ASiC)と 21 の国別プロファイルを追加します。同じ鍵でコード署名と文書署名の両方を生成する必要がある場合に有用です。

Adobe Acrobat / Adobe Sign からの移行

Adobe Acrobat はエンドユーザーツールであり、開発者ライブラリではありません。現在エンドユーザーに Acrobat で PDF に署名してもらっており、無人のサーバーサイド PAdES 署名が必要な場合、sgcSign は PDF 署名者(TsgcPAdESSigner)とビルドパイプラインまたはバックエンドサービスから PAdES-T および PAdES-LT 署名を生成するタイムスタンプ・OCSP クライアントを提供します。

iText / Apryse からの移行

iText と Apryse はネイティブ Delphi バインディングを提供していないため、Delphi アプリケーションは通常 .NET または Java SDK を薄いブリッジの後ろにラップします。sgcSign はネイティブ Delphi および C++ Builder コードから PAdES-B-B / B-T / B-LT 署名を生成します。ブリッジレイヤーがなくなり、PDF に署名するのと同じキープロバイダーチェーンが XML、CMS、Authenticode アーティファクトにも署名します。

すべての主張にリンク付き

上記のマトリックスの各セルはこれらの公式ドキュメントページ、リポジトリ、またはリリースノートのいずれかに対応しています。すべての URL は執筆時点で HEAD チェック済みです。

ソースURL
sgcSign — 製品ページhttps://www.esegece.com/products/sgcsign/
sgcSign — 機能リファレンスhttps://www.esegece.com/products/sgcsign/features/
sgcSign — キープロバイダーhttps://www.esegece.com/products/sgcsign/key-providers/
sgcSign — 国別プロファイルhttps://www.esegece.com/products/sgcsign/profiles/
sgcSign Serverhttps://www.esegece.com/products/sgcsign/server/
Microsoft SignTool — リファレンス(learn.microsoft.com)https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool
Windows SDK ダウンロード(SignTool 同梱)https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
osslsigncode — GitHub リポジトリhttps://github.com/mtrojnar/osslsigncode
osslsigncode — リリースhttps://github.com/mtrojnar/osslsigncode/releases
Azure Trusted Signing — 概要(learn.microsoft.com)https://learn.microsoft.com/en-us/azure/trusted-signing/overview
Azure Trusted Signing — クイックスタートhttps://learn.microsoft.com/en-us/azure/trusted-signing/quickstart
DigiCert Software Trust Managerhttps://www.digicert.com/software-trust-manager
DigiCert — smctl 署名クライアントhttps://docs.digicert.com/en/software-trust-manager/client-tools/smctl.html
jsign — プロジェクトページhttps://ebourg.github.io/jsign/
jsign — GitHub リポジトリhttps://github.com/ebourg/jsign
jsign — リリースhttps://github.com/ebourg/jsign/releases
Adobe Acrobat — 製品ページhttps://www.adobe.com/acrobat.html
Adobe Acrobat Sign — 製品ページhttps://www.adobe.com/sign.html
Adobe 承認トラストリスト(AATL)https://helpx.adobe.com/acrobat/kb/approved-trust-list2.html
iText Core — 製品ページhttps://itextpdf.com/products/itext-core
iText 署名パッケージ — API ドキュメントhttps://api.itextpdf.com/iText/java/9.4.0/com/itextpdf/signatures/package-summary.html
Apryse(PDFTron)— PDF SDKhttps://apryse.com/products/core-sdk/pdf
ETSI EN 319 132 — XAdES 仕様https://www.etsi.org/deliver/etsi_en/319100_319199/31913201/
ETSI EN 319 142 — PAdES 仕様https://www.etsi.org/deliver/etsi_en/319100_319199/31914201/
RFC 3161 — タイムスタンププロトコル(TSP)https://datatracker.ietf.org/doc/html/rfc3161
RFC 6960 — オンライン証明書状態プロトコル(OCSP)https://datatracker.ietf.org/doc/html/rfc6960
eIDAS 規則(EU)第 910/2014 号https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32014R0910

sgcSign を試す

無料トライアル版をダウンロードして、Delphi または C++ Builder から数分で最初の PDF、XML、または Windows バイナリに署名してください。