インサイトに戻る
EVコード署名SmartScreenコード署名デジタル署名ソフトウェアセキュリティ2026-01-12

コード署名証明書とは何か?何に使うのか?どう申請するのか?

コード署名証明書は、ソフトウェアコードにデジタル署名を行うためのデジタル証明書であり、開発者の身元を検証し、コードの改ざんを防ぎ、不明な発行元の警告を解消する、ソフトウェアの安全な配布に欠かせないツールです。

デジタル経済時代において、ソフトウェアは日常生活やビジネス活動に欠かせない一部となっています。しかし、サイバー攻撃やマルウェアの蔓延に伴い、ユーザーはダウンロードしたソフトウェアをどのように信頼できるのでしょうか?開発者は、開発したソフトウェアの出所が信頼でき、公開後に改ざんされていないことをどのように証明するのでしょうか?コード署名証明書(Code Signing Certificate)こそが、その重要なツールです。では、コード署名証明書とは何でしょうか?何に使うのか?どう申請するのか?本記事で徹底解説します。

一、コード署名証明書とは?

コード署名証明書(Code Signing Certificate)は、ソフトウェア開発者に提供され、開発した実行可能スクリプト、ソフトウェアコード、およびコンテンツにデジタル署名を行うためのデジタル証明書です。コード署名証明書は、開発者の身元の真実性を検証し、コードの完全性を保護するために使用されます。ユーザーがソフトウェアをダウンロードする際、デジタル署名を通じてソフトウェアの出所が信頼できることを検証でき、ソフトウェアやコードが不正に改ざんされたりウイルスが仕込まれていないことを確認できます。これにより、ユーザーをウイルス、悪意のあるコード、スパイウェアから守り、ソフトウェア開発者の利益も保護し、ソフトウェアをインターネット上で迅速かつ安全に公開できるようにします。

コード署名証明書は、実行可能ファイル、アプリケーションやプラグイン、Java、MS Office MacroやVBA、Mozillaオブジェクトファイル、Microsoft Silverlightアプリケーションなど、さまざまなタイプのファイルに署名できます。主に、以下を含みますがこれに限定されません:.exe、.dll、.cab、.ocx、.msi、.xpi などのファイル形式です。

コード署名証明書の種類

  • 通常のコード署名証明書(OVコード署名証明書): 電話認証と企業情報の認証が必要で、認証時間は通常1~3営業日です。証明書はUKEY形式で郵送されます。
  • EVコード署名証明書(拡張型コード署名証明書): 電話認証と企業情報の認証に加えて、証明書申請契約書の記入と最終審査も必要です。認証時間は通常1~5営業日で、証明書はUKEY形式で郵送されます。OVコード署名証明書との違いは、EVコード署名証明書は即座にSmartScreenの信頼を得られること、Windows 11カーネルドライバーファイルの署名をサポートし、WHQLロゴ認証アカウントAzure ADアカウントの登録をサポートすることです。

二、コード署名証明書は何に使うのか?

  1. 開発者の実在性を識別する — コード署名証明書は、信頼できる認証局(CA)が開発者の実在性を厳格に検証した後に発行されます。コード署名証明書を使用してソフトウェアプログラムにデジタル署名を行うと、開発者の身元情報を確認でき、ソフトウェアが信頼できる企業に由来することを保証します。

  2. コードの改ざんを防止する — コード署名証明書は、デジタル署名と公開鍵・秘密鍵の技術を利用して、コードが悪意を持って改ざんされるのを防ぎ、ユーザーがダウンロードしたソフトウェアがオリジナルで未変更であることを保証します。公開されたソフトウェアが改ざんされた場合、インストール時にシステムがセキュリティ上の危険を警告します。

  3. 不明な発行元の警告を排除する — コード署名証明書を使用することで、「不明な発行元」の安全でない警告がなくなり、発行元の企業情報が直接表示され、ソフトウェアの出所が示されるため、ユーザーは安心してダウンロードできます。

  4. Smartscreenの信頼を得る — Smartscreenは、マイクロソフトが提供する、フィッシングや悪意のあるソフトウェアのサイトやアプリケーション、および潜在的に悪意のあるファイルのダウンロードを防ぐためのセキュリティ機能です。コード署名を使用してソフトウェアプログラムにデジタル署名を行うことで、Smartscreenの信頼を得られます。

  5. ダウンロード数を向上させる — コード署名証明書を使用することで、「不明な発行元」の安全でない警告がなくなり、発行元の企業情報が直接表示されるため、ユーザーは安心してダウンロードおよびインストールでき、ソフトウェアのダウンロード数が向上します。

  6. アプリケーションプラットフォームの要件を満たす — Apple App Store、Google Play、腾讯应用商店、360ソフトなど、アプリケーションプラットフォームはソフトウェアにデジタル署名を要求します。コードサイニング証明書はアプリケーションにデジタル署名を行い、各大平台やアプリストアでの配布をより容易にします。

三、コードサイニング証明書の申請方法は?

  1. 証明書の種類を選択します。 開発者は自身のニーズと予算に応じて、適切なコードサイニング証明書の種類を選択できます。
  2. 資料を記入して提出します。 会社登録証明書、法人の身分情報、授权連絡担当者情報、オフィス情報、連絡先などを含む企業資料を記入し、内容を確認した後に提出します。
  3. CAによる検証。 CAは電話、公開情報システム(邓白氏编码、工商公示システムなど)を通じて企業の真实性を確認します。通常1〜5営業日かかります。
  4. Ukeyを受け取り、使用します。 CAの検証が完了した後、コードサイニング証明書はUkeyの形で宅配便で送付されます。受け取り後、すぐにソフトウェアへの署名を開始できます。

四、コードサイニング証明書の使用と確認

コードサイニングUkeyを受け取ったら、Windows環境でサイニングツール(SignToolなど)を使用して、ソフトウェアプログラムへのコード署名を実行できます。

署名後、アプリケーションを右クリックし、「プロパティ」→「デジタル署名」の順にクリックすると、署名者情報、ダイジェストアルゴリズム、タイムスタンプを確認できます。

コードサイニング証明書はソフトウェアの安全な配布における鍵となっており、単なる技術ツールではなく、デジタル信頼を構築する重要な架け橋です。ソフトウェア開発者や企業にとって、コードサイニング証明書を理解し、適切に選択・使用することは、開発者の真實の身元を明示し、Windowsの未知の発行者警告を排除し、コードの改ざんを防ぐだけでなく、ブランドの信頼性を確立し、ユーザー体験を向上させることができます。

ご質問やご要望がございましたら、お問い合わせまでご連絡ください。