結論だけ先に(当サイトは購入していません。以下はほぼすべて公開情報の引用で、例外は 4 章のタイムスタンプ検査 1 点のみです。金額はドル建ての目安と国内 CA の円建て公表価格を併記します。どちらも為替と価格改定で変わります)

  • 秘密鍵は 2023 年 6 月 1 日から HSM / トークン必須。HSM=Hardware Security Module(秘密鍵を外へ取り出せない造りの専用機器)。.pfx をビルドサーバーに置く運用は、公的証明書ではもう成立しません(1 章)
  • 最大有効期間は 39 か月から 460 日へ短縮(Ballot CSC-31・本文の発効日は 2026 年 3 月 1 日)。更新は最長でも約 15 か月ごとです(1 章)
  • 費用は国内 CA の公表価格で OV が 1 年 ¥69,000、EV が ¥89,700(税抜)。ドル建ての目安は OV $150〜300/年、EV $400+/年、Azure Artifact Signing 約 $9.99/月から。トークン / HSM 本体の費用は別で、当サイトでは金額を確認できていません(2 章)
  • EV を買っても SmartScreen 警告は即座には消えません。即時バイパスは 2024 年に廃止済みで、Microsoft 自身が「その目的の割増料金は正当化できない」という主旨を書いています(2 章)
  • 身元確認に 1〜20 営業日。配布期限のあるプロジェクトは工程に織り込んでください(3 章)
  • タイムスタンプは付け忘れても止まりません。付けずに署名した exe は、証明書の期限が来た時点で無効と判定されます(4 章)

先に不利なことを書きます。社内の数十台に配るだけなら、ここに挙げた費用を払っても実行制御のブロックは消えません。証明書の購入より情シスとの許可登録の合意が先です(実測はPython exe のコード署名 完全ガイド)。

この記事の目次

1. 2026 年の制度変更 — 有効期間 460 日化と秘密鍵の HSM 必須化

「安い証明書を買って、手元の .pfx ファイルに秘密鍵を置いて署名する」——この世界観の記事はまだ検索上位に残っていますが、制度上すでに成立しません。変更は 2 つです。

コード署名証明書の制度変更タイムラインと更新サイクルの変化 2023 年 6 月 1 日に秘密鍵のハードウェア格納が必須になり、2026 年 3 月 1 日に最大有効期間が 39 か月から 460 日へ短縮された。DigiCert は 459 日を超えるリクエストの受付を 2026 年 2 月 24 日に停止した。Reserved Policy OID の記載必須化は 2026 年 9 月 15 日発効。更新サイクルは最大約 3 年から約 15 か月へ短くなる。 図 1: 制度変更のタイムラインと、更新サイクルの変化 2023-06-01 秘密鍵の HSM / トークン格納が必須 Ballot CSC-13 / CSC-17 2026-03-01 最大有効期間が 460 日に (39 か月から短縮) Ballot CSC-31 本文の発効日 2026-02-24 DigiCert が 459 日超の 受付を停止(同社独自の運用) 2026-09-15 Reserved Policy OID の記載必須化(CSC-32) 更新サイクル: 「一度買えば 3 年放置」は成立しない 旧(〜2026) 最大 39 か月=約 1,186 日 新(現行) 最大 460 日 =約 15 か月。実務上は毎年の定例作業と考える 日付が 1 つに定まらない点(当サイトは断定しない) CA/Browser Forum の要件一覧ページでは CSC-31 の発効日が 2025-11-07 と表示され、ballot 本文の 2026-03-01 と食い違う(2026-08-31 確認)。 459 日は DigiCert 固有の運用。CA 各社の受付停止日はさらに前倒しになりうる。
図 1: 制度変更のタイムラインと更新サイクルの変化。日付はいずれも 2026 年 8 月 31 日時点で確認した公開情報で、当サイトの実測ではありません。

1.1 秘密鍵のハードウェア格納が必須になった(2023 年 6 月 1 日)

CA/Browser Forum の Ballot CSC-13 は、コード署名証明書の秘密鍵の生成・保管を FIPS 140-2 Level 2 または Common Criteria EAL 4+ 以上の暗号モジュール内に限定しました(どちらも暗号モジュールの安全性を第三者が評価する規格・等級の名前で、平たく言えば「秘密鍵を外へ取り出せない造りの機器、またはそれと同等と認められた仕組み」の水準です)。ハードウェアだけでなく、クラウドベースの鍵生成・保護ソリューションも認められています。続く Ballot CSC-17 が、この要件の発効日を 2023 年 6 月 1 日に延期しました。

重要なのは、この要件が EV だけでなく OV にも及ぶことです。Microsoft の開発者向けドキュメントも「2023 年 6 月以降、CA/Browser Forum は OV 証明書の秘密鍵を HSM またはハードウェアトークンに格納することを要求している。多くの CA が対応する USB トークンかクラウド HSM の選択肢を提供している」と説明しています。

実務側でもこの切り替えは終わっています。GMOグローバルサインの signtool 手順ページは、コマンド例を「新型証明書(2023 年 4 月 24 日以降発行)」と「旧型証明書(PKCS12 形式の .pfx)」で別建てにしており、新型はトークン内の証明書を /a /n "Common Name" で選びます(2023 年 4 月 24 日は同社独自の切替日で、CA/B Forum の 2023 年 6 月 1 日とは別です)。「pfx をビルドサーバーに置いて CI で署名する」前提の古い記事は、そのままでは再現できません。

1.2 最大有効期間が 39 か月から 460 日に短縮された(2026 年 3 月 1 日発効)

Ballot CSC-31 により、公的なコード署名証明書の最大有効期間が 39 か月から 460 日に短縮されました。Code Signing Baseline Requirements の v3.9 から v3.10.0 への改定で、2025 年 11 月 17 日に採択、ballot 本文には発効日 2026 年 3 月 1 日と記載されています。提案者は Microsoft の担当者 2 名です。

ここに押さえておく価値のある食い違いがあります。CA/Browser Forum の要件一覧ページでは、CSC-31 の行の発効日が 2025 年 11 月 7 日と表示されます(2026 年 8 月 31 日確認)。ballot 本文の日付とは別です。文書バージョン v3.10.0 の発効日と、460 日制限という要件の適用開始日を分けているのだろうと推測できますが、CA/Browser Forum は明示していないため断定しません。実務上は ballot 本文の 2026 年 3 月 1 日を基準にしつつ、CA 各社の受付停止日はさらに前倒しであると考えるのが安全です。

実例として DigiCert は、自社の最大有効期間を「CA/Browser Forum の上限を超えないよう 1 日短く」設定し 459 日で発行すると告知しています。459 日超のリクエストの受付停止は 2026 年 2 月 24 日(日本時間 2 月 25 日)で、コード署名・EV コード署名の両方が対象。発行済みの証明書は満了まで使えますが、期限後の再発行は 459 日を超えられず、長期の注文分は返金なしで切り詰められるとしています。この 459 日は DigiCert 固有の運用で、他の CA も同じとは限りません。CA/Browser Forum 側の ballot ページには経過措置の記載がなく、当サイトでは一次情報として確認できていません。

Code Signing Baseline Requirements は 2026 年 8 月 31 日時点で v3.11.0(2026 年 6 月 16 日公開)が最新で、Ballot CSC-32 による Reserved Policy OID の記載必須化は 2026 年 9 月 15 日発効です。要件の条番号や鍵長の具体値は、当サイトでは Baseline Requirements の PDF 本文まで確認できていないため本記事には書きません。

現場側への含意は単純です。公的証明書を使うなら、更新作業は最長でも 460 日(約 15 か月)ごとに回ってきます。年単位で販売されることが多いので、毎年の定例作業と考えておくのが安全です。「一度買えば 3 年放置できる」前提で運用手順を作ると、更新月に配布が止まります。4 章のタイムスタンプと合わせて、更新の段取りを先に決めてください。

2. 公的証明書を買う場合の現実 — 費用と審査(当サイトは未購入)

もう一度宣言します。当サイトは公的なコードサイニング証明書を購入していません。この章に実測値はなく、Microsoft および CA の公開情報の引用と整理です。金額は為替と CA の価格改定で変動します。

2.1 費用の一覧 — ドル建ての目安と円建ての公表価格

選択肢費用の目安備考
自己署名無料公開配布には使えない(Python exe のコード署名 完全ガイドの 5.3)
Microsoft Store(MSIX=Windows 標準のアプリ配布パッケージ形式)無料Store 経由の配布のみ。Microsoft が再署名するため初回警告なし
Azure Artifact Signing約 $9.99/月から組織・個人で地域制限あり(3 章)
OV 証明書(海外 CA 直販の目安)$150〜300/年CA により変動。HSM / トークンの費用は別
OV 証明書(国内 CA の公表価格)¥69,000/年(税抜)GMOグローバルサインの価格ページ「コードサイニング証明書 1 年」
EV 証明書(海外 CA 直販の目安)$400+/年SmartScreen 目的だけの EV は正当化できない
EV 証明書(国内 CA の公表価格)¥89,700/年(税抜)同ページの EV 版(1 年)
SignPath FoundationOSS なら無料OV 相当をマネージドパイプラインで提供。適格条件は当サイトで未確認

ドル建ての行は Microsoft Learn の比較表に記載された目安(2026 年 8 月 31 日確認)、円建ての行は GMOグローバルサインの価格ページの記載(2026 年 9 月 1 日確認)です。この表は費用の軸なので、費用の話にならない「署名しない」は外し、代わりに Microsoft Store と SignPath Foundation を加えています。

OV(Organization Validation=法人の実在を確認して発行)と EV(Extended Validation=より厳格な審査)の差は審査の深さです。SmartScreen 目的では差が出ませんが、カーネルモードドライバの署名要件など別の理由があるかは確認してください(Python exe のコード署名 完全ガイドの 2 章)。

日本から買うと、ドル建ての目安より高くなります。$150〜300/年 は海外 CA の直販価格帯で、仮に 1 ドル 150 円なら 2.3〜4.5 万円。上の表の OV ¥69,000 とは実額で約 2.4 万〜4.7 万円の開きがあります(当サイトはどちらも購入しておらず、公開価格ページの引用です)。稟議に出す金額は、購入予定の CA の公表価格で作ってください。

なお USB トークンやクラウド HSM 本体の費用は、当サイトでは確認できていません(購入していないため)。上の価格ページにも証明書の年額しかなく、トークン本体の金額は載っていません。見積もりでは、①証明書の年額 ②トークン本体またはクラウド HSM の利用料 ③紛失・再発行時の費用 ④更新のたびにトークンを作り直す必要があるか——の 4 点を内訳で出してもらってください。

2.2 お金を払っても SmartScreen はすぐには静かにならない

金額より先に理解すべきは、お金を払っても即座には静かにならない点です。Microsoft は「署名済みであっても、新規に作成されたバイナリは、そのハッシュまたは発行元証明書が十分な良好評判の証拠を蓄積するまで SmartScreen 警告を表示することがある」と明記しています。しかも消費者向けエンドポイントには手動で審査を申請する窓口も仕組みも存在しないとされています(企業 IT 向けには Microsoft Security Intelligence portal への提出という経路があります)。

2.3 買う前に確認する 3 点 — トークン/更新の段取り/評判の引き継ぎ

購入時にあわせて確認すべき点は 3 つです。トークンかクラウド HSM か——USB トークンは物理的な受け渡しと保管が必要でビルドサーバーでの自動署名と相性が悪いので、CI で署名したいならクラウド HSM 型を選びます。更新の段取り——上限が 460 日(DigiCert は 459 日)になり販売単位も年ごとが主流なので、更新は毎年の定例作業です。トークンの再発行が要るかを事前に確認してください。証明書を変えると評判が切れる——信頼シグナルは証明書に紐付くため、CA を乗り換えると SmartScreen の評判は積み直しです。加えて PUA(Potentially Unwanted Application=ウイルスではないが望ましくない挙動として警告対象になりうるプログラム)と判定されうるファイルに署名すると証明書に負の評判が付くため、「社内の便利ツールだから」と何にでも同じ証明書で署名する運用は避けてください。

3. Azure Artifact Signing は日本の中小製造業に使えるか

Trusted Signing から改称した Azure Artifact Signing は、Microsoft 自身が「Store 外配布の開発者に対する推奨のコード署名サービス」と位置づけています。ハードウェアトークンが不要で、FIPS 140-3 Level 3 認証の HSM 内で証明書のライフサイクルを管理し、GitHub Actions や Azure DevOps に直結できます。署名に使う証明書が利用者に渡ることは一切なく、サービス内に保管されて署名時のみアクセスされます。「秘密鍵を誰がどこに保管するか」という、社内でいちばん揉める論点を消せるのが最大の利点です。

3.1 対象国の記載が公式ドキュメント内で食い違う

ただし、日本から使う場合には確認すべき点があります。Microsoft 公式ドキュメントの中で、対象国の記述が食い違っています。

ページ組織(Organization)個人(Individual)
Artifact Signing の Quickstart米国・カナダ・EU・英国・豪州・NZ・日本・韓国・シンガポール・スイス・ノルウェー・イスラエル米国・カナダのみ
Windows アプリ開発者向け「Code signing options」米国・カナダ・EU・英国 のみ(日本の記載なし)米国・カナダのみ

いずれも 2026 年 8 月 31 日に確認。

Azure 製品側の正本である Quickstart は「Public Trust 証明書は(日本を含む)これらの国の組織が利用できる。個人開発者は米国またはカナダに所在している必要がある。これらの地理的制限は Private Trust 証明書には適用されない」と書いています。当サイトは Quickstart 側を採用して「日本の法人は Public Trust の対象」と読みますが、別ページに日本が列挙されていない以上、申し込む前に Azure ポータルで実際に選択できるかを確認してください。ここは断定できません。

3.2 SKU・契約条件と、審査に要する 1〜20 営業日

そして日本の個人開発者は Public Trust の対象外です。当サイトの運営者も個人なので試せていません。以下は公式ドキュメントの記載です。

  • SKU と価格: Basic は 5,000 署名/月・証明書プロファイル 1 つ、Premium は 100,000 署名/月・各種 10。価格ページの金額表示はプレースホルダで実額が出ない(「見積もりであり実際の価格提示ではない」と注記あり)ため、金額の根拠は Microsoft Learn の「約 $9.99/月から」のみです
  • 契約の条件: 無料・試用・スポンサー付きサブスクリプションでは使えず、従量課金か EA の有料サブスクが必要。日割りもなく、作成時に選んだ SKU の満額が請求されます
  • 身元確認に 1〜20 営業日(追加書類を求められるとさらに延びます)。配布期限が決まっているプロジェクトでは、ここを工程に織り込んでください
  • できないこと: EV は発行しません(将来も予定なしと明言)。Microsoft Store への提出にも使えません。CN / O のカスタム指定も不可で、CN は法人の検証済み正式名称に限ると FAQ が明記しています
  • Japan East リージョンがあります(エンドポイントは https://jpe.codesigning.azure.net)。証明書プロファイルを削除しても既発行の証明書は失効せず、署名も無効になりません

中小製造業が「法人として」使う分には、費用・運用の両面で現実的な選択肢です。特に Private Trust 証明書には地理的制限がかからない点は社内配布で効いてきます。ただし SmartScreen への効果は OV と同じで、即時の信頼は得られません。

4. タイムスタンプと有効期限切れ — よくある誤解を解く

「証明書が切れたら、過去に配った exe も動かなくなるのでは」という質問はよく出ます。ここを扱うのがタイムスタンプです。

署名にタイムスタンプを付けると、「この署名は証明書が有効だった時点で行われた」ことを第三者(TSA = Time Stamping Authority)が保証し、有効期限が切れた後も検証が通ります。逆に言えば、タイムスタンプを付けずに署名した exe は、証明書の有効期限が来た時点で署名が無効と判定される——これが Authenticode の基本的な考え方です。ただし、この期限切れ後の検証挙動そのものは当サイトでは実測していません(実測したのはPython exe のコード署名 完全ガイドの 4.3「期限切れ証明書では署名が書き込まれない」という別の事象です)。

4.1 付け忘れても止まらない — signtool と PowerShell の罠

更新が最長 460 日ごとに回ってくる(1.2)以上、タイムスタンプは必須です。ところがこれは付け忘れても止まりません。

  • signtool では /t も /tr も指定しなければタイムスタンプは付きません。しかもタイムスタンプの取得に失敗しても警告止まり(終了コード 2)で、コマンド自体は完了します
  • Set-AuthenticodeSignature の -TimestampServer に渡す URL は http:// で始まる必要があります。PowerShell 7.3 で https:// を受け付けるようになりましたが、内部 API が HTTPS に対応していないため、HTTPS を渡すとエラーが返る一方でファイルはタイムスタンプなしで署名される、と公式ドキュメントが注意喚起しています

「エラーが出たのに署名は付いている、ただしタイムスタンプはない」が最悪です。ビルドスクリプトでは戻り値を検査したうえで、署名後に Get-AuthenticodeSignature の TimeStamperCertificate が null でないことを確認するのが確実です(当サイトの個人の検証環境での実測でも、タイムスタンプなしで署名した exe では null でした)。

$sig = Get-AuthenticodeSignature .\SampleTool.exe
if ($null -eq $sig.TimeStamperCertificate) {
    throw "タイムスタンプが付いていません"
}

4.2 タイムスタンプサーバーの URL 一覧

公式ドキュメントに URL の記載があるタイムスタンプサーバーです。いずれも 2026 年 8 月 31 日時点の記載で、URL は変更されることがあります。利用前に各社の公式ページで確認してください。

提供元URL記載元
DigiCerthttp://timestamp.digicert.comMicrosoft Learn の signtool 公式サンプル
GlobalSign(R45 ルート用)http://timestamp.globalsign.com/tsa/r45standardGMOグローバルサインの手順ページ
GlobalSign(R6 ルート用)http://timestamp.globalsign.com/tsa/r6advanced1同上
Microsoft(Artifact Signing)http://timestamp.acs.microsoft.comArtifact Signing の FAQ

自己署名証明書で公開の TSA からタイムスタンプを取得できるかは、当サイトでは実測していません。検証で外部サービスへリクエストしない方針を取ったためです。TSA は署名者を問わないはずですが、確認していない以上「できる」とは書きません。

期限切れについては本体記事の実測が効いてきます。有効期限が切れた証明書で署名しようとしても例外は投げられず、署名も書き込まれませんでした(Python exe のコード署名 完全ガイドの 4.3)。「証明書を更新したつもりが古いほうを参照していた」という事故が起きると、無署名の exe が黙って配布されます。NotAfter をビルドスクリプトの冒頭で検査し、期限が近いときは警告を出すのが安全です。

稟議・見積依頼のチェックリスト(そのまま持ち込める 1 枚)

埋まらない欄が残っているうちは、まだ見積を取る段階ではありません。

  • そもそも署名が要るか: 社内の管理端末だけなら、買っても実行制御のブロックは消えません(実測はこちら)
  • 年額: 購入予定の CA の公表価格を円建てで(ドル建ての目安ではなく実際の見積で・2.1)
  • トークン / HSM の要否と費用: CI で署名するならクラウド HSM 型(1.1)。本体価格は当サイト未確認なので見積で内訳を
  • 更新の頻度と担当: 最長 460 日=実務上は毎年(1.2)。誰がいつ更新するかを先に決める
  • 初回配布までの日数: 身元確認に 1〜20 営業日(3.2)。配布期限から逆算して申込日を決める
  • 署名対象の範囲: 何にでも同じ証明書で署名しない(PUA 判定で負の評判が付く・2.3)
  • タイムスタンプの検査: ビルドに TimeStamperCertificate の null チェックを入れたか(4.1)

5. おわりに

費用と制度の側から押さえる点は 5 つです。

  • 秘密鍵をファイルで持ち歩く手順は、公的証明書ではもう使えません(2023 年 6 月 1 日〜)。買う前に USB トークンかクラウド HSM かを決めます
  • 更新は最長でも 460 日ごと。年 1 回の定例作業として担当者と手順を決めておきます
  • お金を払っても SmartScreen はすぐには静かになりません。EV の割増分は SmartScreen 目的では回収できません(国内 CA の公表価格は OV が 1 年 ¥69,000、EV が ¥89,700・いずれも税抜)
  • タイムスタンプは付け忘れても止まらないので、署名後に TimeStamperCertificate を検査します
  • 鍵の保管を社内に置きたくない法人には Azure Artifact Signing が有力。ただし対象国の記載に食い違いがあり、身元確認に 1〜20 営業日かかります

そのうえでいちばん大事な但し書きです。社内の数十台に配る現場ツールなら、ここまでの費用を払っても問題が解決しないことがあります。実行制御(App Control / Smart App Control)のブロックは証明書の購入とは別の話で、情シスでの許可登録が結局必要になるからです。当サイトが実際に exe を署名し、何が変わって何が変わらなかったかを測った記録はPython exe のコード署名 完全ガイドにあります。買う前に、まずそちらで「止めている門」を確定させてください。なお当サイトは公的証明書を購入しておらず、Azure Artifact Signing も日本の個人開発者は Public Trust の対象外のため試せていません。記載は、円建ての公表価格(2026 年 9 月 1 日確認)を除き、2026 年 8 月 31 日時点の公開情報に基づきます。

参考文献・一次情報

一次情報の参照日は、GMOグローバルサインの価格ページのみ 2026 年 9 月 1 日、それ以外はいずれも 2026 年 8 月 31 日。本記事に当サイトの実測値は含まれません(例外はタイムスタンプなしで署名した exe の TimeStamperCertificate が null になることの確認のみ)。アプリ名(SampleTool)は記事用のダミーです。

関連記事