コード署名

Adobe AIR では、すべての AIR アプリケーションが電子署名されている必要があります。 コード署名は、ソフトウェアの整合性と発行者の ID を保証するために、コードに電子署名するプロセスです。 開発者は、証明機関(CA)から発行された証明書を使用するか、自己署名入り証明書を作成することによって、AIR アプリケーションに署名できます。

認定されている証明機関(CA)が発行した証明書を使用して AIR ファイルに電子署名すると、インストールしているアプリケーションが誤ってまたは悪意を持って変更されていないことをユーザーに確実に保証することができます。 認定された証明機関(CA)が発行した証明書を使用して AIR ファイルに電子署名すると、開発者は署名者(発行者)と見なされます。 AIR では、Verisign および Thawte 証明機関によって発行されたコード署名証明書が認識されます。 開発者が Verisign または Thawte の証明書を使用して AIR ファイルに署名している場合、AIR アプリケーションインストーラーによってインストール中に発行者名が表示されます。

AIR アプリケーションインストーラーによってインストール中に発行者名が表示されるのは、信頼できる証明書、またはインストールされているコンピューターで信頼されている証明書にチェーン化されている証明書を使用して AIR アプリケーションに署名している場合です。 証明機関(CA)では、信頼性の高い証明書を発行する前に、実績のあるプロセスを使用して発行者または開発者の ID を検証します。

開発者は、自分自身で作成した、自己署名入り証明書を使用して AIR アプリケーションに署名することもできます。 ただし、AIR アプリケーションインストーラーでは、このようなアプリケーションは発行者が検証されていないアプリケーションとして表示されます。

AIR ファイルに署名が行われると、電子署名がインストールファイルに含まれます。署名には、署名後に AIR ファイルが変更されていないことを検証するために使用されるパッケージのダイジェストと、発行者 ID を検証するために使用する署名証明書に関する情報が含まれます。

AIR では、オペレーティングシステムの証明書ストアを通じてサポートされる公開キーインフラストラクチャ(PKI)を使用します。AIR アプリケーションがインストールされているコンピューターでは、発行側の情報を検証するために、AIR アプリケーションの署名に使用されている証明書そのものを信頼するか、信頼できる証明機関の証明書にリンクしている証明書のチェーンを信頼する必要があります。

AIR ファイルが、信頼できるルート証明書(およびこれには通常すべての自己署名入り証明書が含まれる)のいずれにもチェーン化されていない証明書で署名されている場合、発行者側の情報は検証できません。AIR は、AIR ファイルが署名後に変更されていないか確認できますが、ファイルの実際の作成者および署名者を検証することはできません。

コード署名プロセスおよび使用できる証明書の形式について詳しくは、開発者向けドキュメントを参照してください。

デスクトップネイティブインストーラーを使用したコード署名

アプリケーションをネイティブインストーラーとしてパッケージ化する場合は、オプションでネイティブコード署名を適用できます。ネイティブコード署名は、Windows のみでサポートされます。 MSDN:Introduction to Code Signing を参照してください。

モバイルプラットフォームでのコード署名

モバイルプラットフォームでは、AIR アプリケーションはプラットフォームの規則や要件に従って署名されます。開発者は AIR SDK のツールやモバイルプラットフォームの要件を満たす証明書を使用してアプリケーションに署名します。モバイル AIR アプリケーションのインストールは、AIR ランタイムではなく、デバイスのオペレーティングシステムによって処理されます。そのため、AIR では、アプリケーションの署名も証明書の所有者の ID も検証されません。