コードサイニング証明書の署名・検証の流れ
コードサイニングは下記の流れで署名(配布側)・検証(受信側)が行なわれます。
署名(配布側)の流れ

- コードサイニング証明書取得
- 配布するコードからハッシュ値※を生成
- 配布元によるハッシュ値の暗号化(=デジタル署名)
- 配布するコード、デジタル署名されたハッシュ値、配布元のコード署名証明書を含む配布パッケージの作成
- 配布
ハッシュ値:あるデータをハッシュ関数を使って演算した結果。同じ元データからは同じハッシュ値が得られ、少しでも異なるデータからは同じハッシュ値が得られる可能性はほとんどない。また、ハッシュ値とハッシュ関数から元データを算出することはできない。
検証(受信側)の流れ

- 受信
- 証明書の有効性を検証
- 証明書から配布元の公開鍵を取得
- 配布元の秘密鍵で暗号化(デジタル署名)されたハッシュ値情報を復号
- 受け取ったコードからハッシュ値を生成
- 受け取ったコードから生成したハッシュ値と復号されたハッシュ値を突合し、同一であれば改ざんされていない

