Windows コード署名を CI で回すコストを月間署名回数別に比較する — 大手アプリの実バイナリ検証から見えた 2026 年の現実
以前の記事「Windows デスクトップアプリを日本法人が安全に配布する」と「OV・EV コード署名証明書を日本から取得する」では、配布チャネルの選定と証明書の取得資格・年額を整理しました。残っていたのが「CI で実際にどれくらいの費用がかかるのか」「他社は現実にどう組んでいるのか」という運用側の話です。本記事はその 2 本の続編として、月間署名回数別のコスト比較と、大手ベンダーの実バイナリ検証から見えた運用の型を整理します。
前提として、2023 年 6 月の CA/Browser Forum ルール改定以降、コード署名の秘密鍵は FIPS 140-2 Level 2 以上のハードウェア(物理 USB トークンまたはクラウド HSM)への格納が必須になりました。GitHub Actions のようなホステッドランナーで自動署名するには、クラウド署名サービスか、Azure Key Vault のような自前クラウド HSM を使うことになります。以下、1 USD = 150 円 で試算します。カーネルモードドライバに署名しない前提のため、SmartScreen の即時バイパスが 2024 年以降 EV でも効かない現状を踏まえ、OV 証明書で十分としています。
CI で使える選択肢を並べる
まず、日本法人・日本在住の個人が現実に選べる構成を並べます。
SSL.com 証明書 + eSigner(クラウド署名)
SSL.com は日本から USD 建て・英語手続きで購入でき、GitHub Actions 公式アクション SSLcom/esigner-codesign が提供されています。証明書代(OV $129/年〜、EV $349/年〜)に加えて、eSigner 月額プランで署名回数に応じた課金が乗ります。
| Tier | 定価月額 | 年契約月額 | 含む署名 | 超過単価 |
|---|---|---|---|---|
| 1 | $20 | $15 | 20 回/月 | $1.00/回 |
| 2 | $85 | $63.75 | 100 回/月 | $0.85/回 |
| 3 | $175 | $131.25 | 300 回/月 | $0.58/回 |
| 4 | $250 | $187.50 | 1,000 回/月 | $0.25/回 |
ティアはダッシュボードからいつでも変更でき(アップグレードは日割り即時、ダウングレードは翌月から)、未使用署名は繰り越し可能です。新規購入時 30 日間は署名回数無制限の無料試用が付くので、初期の実測に向いています。
DigiCert 証明書 + KeyLocker(クラウド署名)
DigiCert KeyLocker は、日本の販売代理店経由で購入すると請求書・円建てで揃えられます。エスロジカルの参考価格で OV 89,000 円/年(KeyLocker サービス含む)で、証明書有効期間 1 年ごとに 1,000 署名がバンドルされます。この 1,000 署名は月ごとではなく年間ハードリミットで、超過するとジョブが失敗するため、超過分は 1,000 署名パック(海外リセラー参考価格 $170 ≒ 25,500 円)を随時追加購入します。GitHub Actions では smctl を呼び出す形で組み込みます。
Azure Artifact Signing(旧 Trusted Signing、参考: 日本不可)
Azure Artifact Signing(2026 年に旧称 Trusted Signing から改名)は Microsoft 直営のクラウド署名サービスで、$9.99/月〜と極めて安く、実質署名回数無制限で CI 統合も容易です。ただし提供地域が絞られており、日本法人・日本在住の個人は 2026 年 7 月時点で対象外です。米国法人があるなら選択肢に入りますが、そうでなければ「参考値」として頭に入れておくだけになります。
GlobalSign または DigiCert + Azure Key Vault Premium(自前クラウド HSM)
.pfx を捨てて自前で HSM を持つ構成です。CA から発行された鍵を Azure Key Vault Premium に格納し、CI からは AzureSignTool で署名します。GlobalSign の米国直販は OV $434/年 ≒ 65,000 円 程度で、GMO グローバルサインの国内版も Azure Key Vault 対応の HSM 格納タイプを提供しています(要見積、円建て請求書払い可)。
Azure Key Vault Premium 側の費用は、2026 年 7 月時点の Azure 料金表で HSM 保護キー 1 本あたり約 $5/月、署名操作は $0.15/1 万回 と署名量に対してほぼ無視できる単価です。年額に直すと HSM 分だけで $60/年 ≒ 9,000 円。証明書 65,000 円 + HSM 9,000 円 = 年 74,000 円で署名回数実質無制限という組み立てになります。
Azure Key Vault と連携できる CA は 2026 年 7 月時点で DigiCert と GlobalSign のみで、Sectigo は不可です。
AWS CloudHSM(現実的に不採用)
参考までに触れておくと、AWS CloudHSM の hsm2m.medium は東京リージョン・2026 年 7 月時点で約 $1.60/時 = 月 $1,168、HA 構成で月 $2,336 かかります。年 210〜420 万円で、コード署名専用としては完全にオーバーキルです。他用途で既に運用している企業以外は選ぶ意味がありません。
月間署名回数別の年間総額を並べる
上記の構成を、月間署名回数別に年額(税抜、1 USD = 150 円 換算)で並べたのが次の表です。値は 2026 年 7 月時点の公称価格からの試算で、実際の見積・為替で前後します。
| 月間署名回数 | SSL.com eSigner | DigiCert KeyLocker | GlobalSign + Azure Key Vault | AWS CloudHSM |
|---|---|---|---|---|
| 〜20 回 | 約 4.6 万円 | 8.9 万円 | 約 7.6 万円 | 約 230 万円 |
| 〜100 回 | 約 13.4 万円 | 11.5 万円 | 約 7.6 万円 | 約 230 万円 |
| 〜300 回 | 約 25.6 万円 | 16.6 万円 | 約 7.6 万円 | 約 230 万円 |
| 〜1,000 回 | 約 35.7 万円 | 37 万円 | 約 7.6 万円 | 約 230 万円 |
| 無制限 | — | — | 約 7.6 万円(固定) | 約 230 万円(固定) |
損益分岐の目安をまとめると次のようになります。
- 月 20 回以下は SSL.com eSigner が最安で、初期構築の手間もほぼゼロ
- 月 50〜100 回を超えたあたりから GlobalSign + Azure Key Vault が逆転し、以降どれだけ回してもコストは変わらない
- その中間帯(月 30〜100 回)は DigiCert KeyLocker も競争力がある
CI のリリース頻度が変動する場合は、SSL.com eSigner でティア変更可能な柔軟性を活かしつつ、恒常的に月 50 回超が見えた段階で Azure Key Vault 側へ乗り換える運用が現実的です。
大手ベンダーは実際どう署名しているか
値札の比較だけでは実運用の勘は掴めません。macOS から osslsigncode verify で公式インストーラーを検査し、Issuer 名から利用サービスを推定した結果を並べます。
| 会社 | Windows 配布形態 | 署名構成(Issuer から判定) |
|---|---|---|
| OpenAI(ChatGPT) | Microsoft Store 専売(MSIX) | Microsoft 署名、外部 CA 証明書を購入していない |
| Anthropic(Claude) | 直接配布(.exe) | DigiCert EV(Trusted G4 Code Signing RSA4096 SHA384 2021 CA1、1 年証明書) |
| Cursor(Anysphere) | 直接配布(.exe) | Azure Artifact Signing(Microsoft ID Verified CS EOC CA 03、3 日有効の使い捨て証明書) |
| Adobe(Creative Cloud / Acrobat) | 直接配布 | DigiCert EV、配布用インストーラーは数年単位で使い回し |
得られる知見は次のとおりです。
- OpenAI の解: Microsoft Store 配布に振り切って、外部 CA コストをゼロにしている。Store 手数料と審査というトレードオフはあるが、CI 側で証明書管理そのものが不要になる
- 老舗・大手の解: Anthropic や Adobe のような規模になると DigiCert EV の大口契約が普通で、回数課金型のクラウド署名サービスを使っている形跡は見えない
- 新興の解: 米国法人が使える Azure Artifact Signing は、証明書の有効期間わずか 3 日という使い捨て運用でも問題なく回る。回数無制限で
$9.99/月からなので、署名回数が増えても月額は変わらない - 「配布用インストーラーは再利用し、本体はリリースごとに署名する」原則: Adobe が最も極端で、Creative Cloud の配布用インストーラーは 2018 年署名のまま今も配布されている。RFC 3161 タイムスタンプがあれば、署名時点で証明書が有効だった事実が証明でき、証明書失効後も署名は永続的に有効になる
Anthropic・Adobe クラスの規模でも、CI で毎ビルド署名しているのは本体 exe とアップデータの数ファイルに絞られていると読み取れます。値札の比較で「月 1,000 回」を想定する前に、まずリリース単位で本当に何ファイル署名する必要があるかを設計し直すのが第一手です。
「アップデートは無署名」戦略を評価する
コスト削減目的で「配布用インストーラーだけ署名し、アプリ本体・アップデートは無署名にする」という発想は成立するように見えますが、推奨できません。理由は 3 つあります。
- アンチウイルス・EDR の誤検知確率が上がる: 無署名で頻繁に差し替わる
.exeは、Windows Defender や各社 EDR のヒューリスティックで最も疑われるパターンに合致します。ユーザー環境で隔離される事案が増えます - 改ざん防御を自作する必要が出る: electron-updater のような自動更新機構は「同一発行者の署名検証」で更新の正当性を担保しています。無署名だとこの防御を捨てるか、独自の署名検証を実装する必要が出て、コストの節約分がコード側で相殺されます
- 企業環境で動かない: AppLocker や WDAC で「署名済みのみ実行可」のポリシーを敷いている組織では起動すらしません。エンタープライズ配布を視野に入れているなら選べない
現実的な最適化は「配布用インストーラーは長期使い回し + 毎リリースは本体 exe とアップデータ程度に絞る」です。これは Anthropic・Adobe が実際にやっていることでもあり、CI で署名する対象を減らしつつ、本体とアップデータの署名を維持する方法です。
サービス乗り換えは可能か
「まず安く始めて、回数が増えたら乗り換える」戦略は技術的にも契約的にも成立します。ただし、いくつか押さえておくべき点があります。
- 旧証明書で署名した既配布バイナリは、タイムスタンプ付きなら失効後も検証が通り続けるため、ユーザー影響はゼロ
- SmartScreen のレピュテーションは証明書単位で蓄積されるため、乗り換え直後は再度ゼロから積み上げになる
- 対策として、移行直後に大型リリースを重ねない・新旧の証明書を並行運用してレピュテーションを温めてから完全移行する、といった段取りを取る
SSL.com eSigner から DigiCert KeyLocker、あるいは KeyLocker から Azure Key Vault 構成への乗り換えは実務でよく行われており、上記の SmartScreen 段取りだけ意識すれば大きな障害はありません。
他社の署名構成を自分で調べる
新しいベンダーを検討するときや、自分の署名が壊れていないかを確かめるときの検証手段を、環境別に整理しておきます。
macOS または Linux で確認する場合は osslsigncode を使います。
brew install osslsigncode
osslsigncode verify -in Something-Setup.exeWindows なら PowerShell で Get-AuthenticodeSignature を呼び出します。
Get-AuthenticodeSignature .\Something-Setup.exe | Format-Listダウンロードもしたくないなら、VirusTotal でファイル名やハッシュを検索し、「Details」タブの「Signature info」を見るだけで Issuer と有効期限が読めます。Issuer 名からサービスがほぼ特定できます。
Microsoft ID Verified CS EOC CA 03→ Azure Artifact Signing(旧 Trusted Signing)SSL.com Code Signing CA→ SSL.comDigiCert Trusted G4 Code Signing RSA4096→ DigiCertGlobalSign GCC R45 CodeSigning CA→ GlobalSign
自社バイナリの検証をリリース CI に組み込んでおくと、証明書の期限切れやチェーンの壊れを配布前に検知できます。
状況別の暫定推奨
以上をまとめると、2026 年 7 月時点の日本法人・日本在住の個人向け推奨は次のようになります。
| 状況 | 推奨構成 |
|---|---|
| 最短で始めたい・月 20 回以下 | SSL.com OV + eSigner Tier 1(30 日無料試用で実測してから決めるのが吉) |
| 本命の長期構成・月 50 回超 | GMO グローバルサイン国内 OV(HSM 対応、要見積) + Azure Key Vault Premium(年 7〜8 万円で回数無制限、円建て請求書払い可能) |
| 中間帯(月 30〜100 回) | DigiCert(エスロジカル経由) + KeyLocker |
| Microsoft Store 配布が受け入れられる | Microsoft Store + MSIX(外部 CA 費用ゼロ、Store が再署名) |
「まず SSL.com で始めて、月間署名回数が安定的に 50 回を超えた段階で GlobalSign + Azure Key Vault へ移行する」というシナリオが、日本法人としては最もリスクが低い進み方になります。
以上、Windows コード署名を CI で回す際のコスト構造を月間署名回数別に整理し、大手ベンダーの実バイナリ検証から運用の型を読み取った、現場からお送りしました。