AIRアプリケーションは、ブラウザの枠を超えて動作し、ローカルのデータにアクセスできるなど自由度が高いため、エンドユーザーは信頼できるアプリケーションに限ってインストールを行うよう、十分に注意しなければなりません。そのため、AIRランタイムでは、すべてのアプリケーションにコードサイニング署名することを義務付け、セキュリティを確保しています。署名がないアプリケーションはインストールができません。また、万が一エンドユーザーが不正に改ざんされたアプリケーションをインストールしようとしてもインストーラが立ち上がりません(AIR 1.0, 1.1)。エンドユーザーは、AIRアプリケーションの署名から、インストールしようとしているアプリケーションの発行者が信頼できる組織なのか、アプリケーションが不正に改ざんされていないかを知り、インストールの続行を検討することが重要です。そのためには、信頼できる認証局から発行されたコードサイニング証明書を利用する必要があります。
デベロッパーは、ツールを利用して簡単に自己署名入り証明書を作成することができます。これを使って、自らの環境で作成されたAIRアプリケーションのインストールを確認することができます。しかし、誰でも自由に作成できる自己署名の証明書では、アプリケーションを配布する先に対して証明書の情報に信頼を与えることができません。そのため、自己署名を用いたアプリケーションでは、インストールする際の警告で発行者が不明となり、検証IDも不明と表示されます(図1参照)。

図1 自己署名されたアプリケーションをユーザーがインストールする際にこのダイアログボックスが表示されます。発行者の身分が不明となり、発行者IDも不明と表示されます。(注意:自己署名を行った自分自身のマシンであれば、認証局から発行された証明書を用いた場合と同じ表示になります)
一方、信頼された認証局から発行された証明書は、認証局が申請された情報を厳格に確認して発行しているため、証明書の情報は認証されています。それを確認する仕組みとして、発行者が表示され、発行者IDが検証済みと表示されます(図2)。エンドユーザーは、発行者の表示から発行者の身元が確認されていることを知り、安心してアプリケーションをインストールできます。デベロッパーは、エンドユーザーに安心と信頼を提供するためにも認証局から発行された証明書を利用してコードサイニング署名を行うことが必要です。

図2 認証局から発行された証明書で署名されたアプリケーションをユーザーがインストールする際にこのダイアログボックスが表示されます。発行者が表示され、発行者IDが検証済みと表示されます。
認証局は、電子証明書の申請に対し、発行者(配布者)の身元を登記簿謄本・印鑑証明書等の書類から、発行組織の実在性と正当性について、厳格な審査を行って証明書を発行しています。また認証局の運用は、暗号鍵や設備・情報などの管理にも厳格な基準が設けられています。中でもWebTrustという監査基準を満たした認証局は、「信頼できる認証局」として、様々なウェブブラウザやAIRなどの実行環境に、その認証局自身のルート証明書が登録されています。そのため、ウェブブラウザやAIRなどの実行環境は、信頼できる認証局から発行された証明書を「検証済み」と表示することができるのです。
AIRアプリケーションのアップデートの際には、アプリケーションが同一の証明書で署名されている必要があります。自己署名の証明書でアプリケーションを配布してしまうと、アップデートの際に認証局の証明書を使うことができなくなってしまいますので注意してください。アプリケーション配布の際には、最初から認証局が発行した証明書で署名するようにしましょう。
AIRアプリケーションの署名には、「証明書の目的」に「コード署名」が含まれている証明書が必要です。一般的なSSLサーバ証明書やS/MIME向け証明書を流用することはできません。認証局から「コードサイニング用証明書」として販売されているサービスを利用するのが良いでしょう。ここでは、国内でサポートができ、Adobe AIR対応のコードサイニング証明書を提供しているグローバルサインの証明書を例に、取得から署名までの流れを説明します。大きく分けて、7つのステップがあります。
| Step1 | ≪お客様≫ | お申込み書類の準備 |
|---|---|---|
| Step2 | ≪お客様≫ | Webフォームからのお申込み |
| Step3 | ≪お客様≫ | お支払 |
| Step4 | ≪お客様≫ | メールアドレスの確認※ |
| Step5 | ≪グローバルサイン≫ | 認証 |
| Step6 | ≪お客様≫ | 証明書の取得とインストール |
| Step7 | ≪お客様≫ | アプリケーションに署名 |
※ディスティングイッシュネーム情報にメールアドレスを登録した場合のみ必要です。





[コードサイニング] Adobe AIR 署名ツールの入手方法
グローバルサイン
世に電子認証サービスが登場し始めた初期の段階より、ベルギーで10年にわたって電子認証サービスの提供を行ってきた認証局です。ベルギー政府関連機関への数多くの実績を持ち、eID※(BELPIC)をはじめとするベルギー電子政府プロジェクトの最上位認証局である、ベルギー政府認証局への認証を行っております。2006年にGMOインターネットグループ傘下となり、政府レベルのセキュリティを、日本をはじめワールドワイドに販売展開しております。
※eID:ベルギーの電子政府プロジェクトの一環として始まった国民ID カードプロジェクト。12歳以上のベルギー全国民に対して電子証明書入りのIDカードが配布される。