コードサイニング証明書とは?こーどさいにんぐしょうめいしょ
コードサイニング証明書とは、配布するソフトウェアに署名を付すための電子証明書。利用者は、そのソフトウェアの発行元が誰であるかと、配布後に改ざんされていないことを確認できる。署名時にタイムスタンプを併用すれば、証明書の有効期限が切れた後も署名時点で有効だったことを示せるため、長期に配布し続ける製品では必須の設計事項になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
インターネット越しに実行ファイルを配ると、途中のミラーサイトや配信経路で中身を差し替えられても受け取り側には判別できない。パッケージを店頭で買っていた時代には包装と流通が担っていた出所の保証を、電子的に置き換える必要が生じた。配布物へ発行元を結び付ける仕組みとして生まれ、OSやブラウザ側が署名の有無で警告を出し分ける形で定着している。
具体例
Windowsではインストーラに署名がないとSmartScreenが警告を表示し、Microsoftのドライバは署名が必須。Appleのソフトウェア配布では署名に加えてノータリゼーション(公証)を通す運用が求められる。企業内では署名鍵をHSMやクラウドの鍵管理サービスに置き、ビルドサーバから署名だけを依頼する構成が採られる。
試験での引っ掛け
TLSのサーバ証明書と取り違えやすいが、証明書の拡張キー用途が異なりサーバ証明書でコード署名はできない。また署名で分かるのは発行元と改ざんの有無だけで、そのソフトウェアが安全・無害であることの保証にはならない。
関連用語
出た過去問
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問23(IPA)
署名されたソフトウェアを導入する前に、そのソフトウェアの開発元又は発行元を確認するために使用する証明書はどれか。
正解:コードサイニング証明書
要点:ソフトの発行元と改ざん有無の確認はコードサイニング証明書
コードサイニング証明書は、ソフトウェアの配布者が実行ファイルやドライバに署名するための証明書で、導入前に開発元・発行元が誰かと、配布後に改ざんされていないかを利用者が検証できる。サーバ証明書やクライアント証明書は通信相手の認証が目的であり、ソフトウェア本体の出所証明には用いない。
出典:令和元年度 秋期 システムアーキテクト試験 午前Ⅱ 問23(IPA)
ディジタル署名のあるソフトウェアをインストールするときに、そのソフトウェアの開発元又は発行元を確認するために使用する証明書はどれか。
正解:コードサイニング証明書
要点:ソフトの発行元と改ざん有無の確認はコードサイニング証明書
コードサイニング証明書は、ソフトウェアの配布者が実行ファイルなどに署名するための証明書で、導入前に開発元・発行元が誰であるかと、配布途中で改ざんされていないことを利用者が検証できる。サーバ証明書やクライアント証明書は通信相手の認証が目的であり、用途が異なる。
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問17(IPA)
デジタル署名のあるソフトウェアをインストールするときに、そのソフトウェアの発行元を確認するために使用する証明書はどれか。
正解:コードサイニング証明書
要点:ソフトウェアの発行元を示す署名用証明書がコードサイニング証明書
コードサイニング証明書は、実行形式のソフトウェアやドライバに対する署名に用いる証明書で、配布物の発行元が確かにその組織であることと、配布後に改変されていないことを利用者が確認できるようにする。インストール時に警告なく発行元名が示されるのは、この証明書による署名が検証された結果である。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 1. 情報セキュリティ > (8) 情報セキュリティに関する技術に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。