場合によっては、AIR アプリケーションのアップデートの署名に使用する証明書を変更する必要があります。これが必要になるのは、次のような場合です。
-
元の署名証明書を更新する
-
自己署名入り証明書を証明機関から発行された証明書にアップグレードする
-
有効期限が近い自己署名入り証明書を別の証明書に変更する
-
ある商用証明書を別の商用証明書に変更する(企業の ID が変更された場合など)
AIR で AIR ファイルをアップデートとして認識できるようにするには、元の AIR ファイルとアップデートの AIR ファイルに同じ証明書を使用して署名するか、アップデートに証明書の移行署名を適用します。移行署名は、アップデートの AIR パッケージに適用される 2 つ目の署名です。これには元の証明書が使用されます。移行署名では元の証明書を使用して、署名者がアプリケーションの元の発行者であることを証明します。
移行署名が適用された AIR ファイルがインストールされると、新しい証明書がプライマリ証明書になります。後続のアップデートに移行署名を適用する必要はありません。ただし、移行署名はできるだけ長い期間にわたって適用し、アップデートを実行していないユーザーに対応する必要があります。
重要:
証明書の期限が切れる前に、証明書を変更し、元の証明書を使用してアップデートに移行署名を適用する必要があります。これを行わない場合は、新しいバージョンをインストールする前に、アプリケーションの既存のバージョンをアンインストールする必要があります。AIR 1.5.3 以降では、期限切れ後 365 日の猶予期間以内であれば、期限切れの証明書を使用して移行署名を適用できます。ただし、期限切れの証明書を使用してメインアプリケーションに署名を適用することはできません。
証明書を変更するには:
-
アプリケーションのアップデートを作成します。
-
アップデートの AIR ファイルをパッケージ化し、
新しい
証明書で署名します。
-
元の
証明書を使用して(ADT の
-migrate
コマンドを使用して)AIR ファイルにもう一度署名します。
移行署名を含む AIR ファイルは、別の意味では通常の AIR ファイルです。元のバージョンがないシステムにアプリケーションをインストールした場合、AIR では通常の方法で新しいバージョンをインストールします。
注意:
AIR 1.5.3 よりも前のバージョンでは、更新された証明書を使用して AIR アプリケーションに署名する場合、必ずしも移行署名は必要ありませんでした。AIR 1.5.3 以降、更新された証明書には必ず移行署名が必要です。
移行署名を適用するには、
ADT migrate コマンド
を使用します。詳しくは、
AIR アプリケーションのアップデートバージョンの署名
を参照してください。
注意:
ADT migrate コマンドは、ネイティブ拡張を含む AIR デスクトップアプリケーションでは使用できません。これらのアプリケーションは、.air ファイルではなくネイティブインストーラーとしてパッケージ化されているからです。ネイティブ拡張を含む AIR デスクトップアプリケーション向けの証明書を変更するには、
ADT package コマンド
を -migrate フラグ付きで使用してアプリケーションをパッケージ化してください。
アプリケーション ID の変更
AIR 1.5.3 よりも前のバージョンでは、移行署名を使用して署名されたアップデートがインストールされると、AIR アプリケーションの ID が変更されていました。アプリケーションの ID の変更には、次のような影響があります。
-
新しいバージョンのアプリケーションでは、既存の暗号化されたローカルストアにあるデータにアクセスできません。
-
アプリケーション記憶域ディレクトリの場所が変更されます。以前の場所にあるデータが新しいディレクトリにコピーされません(ただし、新しいアプリケーションは、以前の発行者 ID に基づく元のディレクトリには配置できません)。
-
アプリケーションは、以前の発行者 ID を使用してローカル接続を開くことができなくなります。
-
Web ページからのアプリケーションへのアクセスに使用する識別ストリングが変更されます。
-
アプリケーションの OSID が変更されます(OSID はカスタムインストール / アンインストールプログラムの記述時に使用します)。
AIR 1.5.3 以降を使用してアップデートを発行する場合、アプリケーション ID は変更できません。元のアプリケーションと発行者 ID は、アップデートの AIR ファイルのアプリケーション記述子に指定されている必要があります。指定されていない場合、新しいパッケージはアップデートとして認識されません。
注意:
AIR 1.5.3 以降を使用して新しい AIR アプリケーションを発行する場合、発行者 ID は指定しないでください。