Java Platform, Standard Editionデプロイメント・ガイド
目次      

24 Rich Internet Application配備プロセス

このトピックでは、JavaまたはJavaFXアプリケーションがブラウザでの実行やブラウザからの起動が許可されるかどうかを決定するために使用される、デプロイメント・プロセスのステップについて説明します。このプロセスは、スタンドアロンまたは自己完結型アプリケーションには適用されません。

ユーザーがブラウザに埋め込まれたりブラウザから起動されるJavaまたはJavaFXアプリケーション(まとめてRich Internet Application (RIA)と呼ばれる)を起動すると、そのRIAの実行が許可されるかどうか、どのバージョンのJREが使用されるか、およびどのセキュリティ・プロンプトがユーザーに表示されるかを決めるために、いくつかのチェックが行われます。このトピックの目的は、それらのチェックについて説明し、それらの決定がどのように行われるかを示すことです。

このトピックの内容は次のとおりです。

24.1 プロセスの概要

次のフロー・チャートは、RIAの配備に使用されるプロセスの簡易版を示しています。

チャートの左側の列にあるノードは、ユーザーがRIAを起動したあとに行われる処理の概要を示しています。次の手順は、主要なプロセスを説明しています。RIAを実行するかブロックするかの決定が行われると、残りの手順はすべてスキップされます。

  1. Javaコンテンツのロードを開始します。

    ユーザーが、アプレットの含まれるHTMLページを開くか、Java Web Startアプリケーションを起動すると、そのコンテンツのロードが開始されます。インストールされているJREがない場合、ブラウザは、プラグインが見つからずRIAが実行されないことをユーザーに通知します。

  2. ブラウザ・プラグインが登録されていて、実行を許可されますか。

    プラグインが登録され、有効になっていることを確認します。詳細は、「プラグイン処理」を参照してください。

  3. このRIA用のルールが存在しますか。

    デプロイメント・ルール・セットが存在する場合は、そのRIAと一致するルールを探します。一致するルールが見つかった場合は、そのルールのアクションが実行されます。アクションがblockの場合、そのRIAは実行されません。アクションがrunの場合、そのRIAは実行を許可されます。ルールが見つからない場合、またはアクションがdefaultの場合、配備プロセスはフロー・チャートの次の手順に進みます。詳細は、「ルール処理」を参照してください。

  4. JREが期限切れになっているか、セキュリティ・ベースラインを下回っていますか。

    RIAを実行するために有効なJREがインストールされていることを確認します。そうでない場合は、JREを更新するオプションがユーザーに表示されます。詳細は、「JREのステータス」を参照してください。

  5. RIAに有効な署名が含まれていますか。

    RIAが署名されているかどうかを確認します。そうである場合は、その署名が有効であることを確認します。詳細は、「デジタル署名」を参照してください。

  6. 必要なセキュリティ・プロンプトはどれですか。

    RIA、Javaコントロール・パネル内のセキュリティ・レベルの設定および例外サイト・リストに基づいて、表示するセキュリティ・プロンプトを決めます。古いJREが要求される場合は、RIAの実行に使用されるJREを選択します。詳細は、「セキュリティ・プロンプト」を参照してください。

RIAに、セキュリティ要件を満たさないリソースや拡張機能などの追加のアーティファクトがある場合、RIAは最初に実行が許可された後にブロックされることがあります。すべてのアーティファクトが署名付きで、JARファイル・マニフェスト属性によって指定された承認済の場所からアクセスされることを確認してください。デプロイメント・ルール・セットを使用する場合は、すべてのアーティファクトと一致するルールがあることを確認してください。例外サイト・リストを使用している場合、RIAによって使用されているすべての場所がリストに含まれるようにします。

24.2 プラグイン処理

コンテンツのロードが開始されると、プラグイン処理では、「ブラウザ・プラグインが登録されていて、実行を許可されるか」という、配備プロセスの2番目の手順の質問に答えます。このプロセスは、図24-1の「プラグイン処理」ボックス(この手順のノードにつながっていて、そのノードの右側に表示されているもの)に示されています。

プラグインが登録されていない場合、ブラウザは、プラグインが見つからずRIAが実行されないことをユーザーに通知します。

プラグインが登録されている場合は、そのプラグインが無効になっているかどうかがデプロイメント・プロパティでチェックされます。さらに、ブラウザがそのプラグインを無効にしたかどうかもチェックされます。プラグインが無効になっている場合は、ユーザーに通知され、RIAは実行されません。プラグインが有効になっている場合、配備プロセスは「ルール処理」に進みます。Java Plug-inの無効化および有効化の詳細は、第20章「Javaコントロール・パネル」20.4項「セキュリティ」を参照してください。プラグインがブラウザによって無効にされた場合は、ブラウザのドキュメントを参照してください。

24.3 ルール処理

ルール処理では、「このRIA用のルールは存在するか」という、配備プロセスの3番目の手順の質問に答えます。このプロセスは、図24-1の「ルール処理」ボックス(この手順のノードにつながっていて、そのノードの右側に表示されているもの)に示されています。ルール処理では、有効なデプロイメント・ルール・セット・ファイルを検索します。この機能の詳細は、第28章「デプロイメント・ルール・セット」を参照してください。

デプロイメント・ルール・セットが見つからない場合、配備プロセスは「JREのステータス」に進みます。

無効なデプロイメント・ルール・セットが見つかった場合は、エラー・メッセージがユーザーに表示され、RIAがブロックされます。

有効なデプロイメント・ルール・セットが見つかった場合は、次のいずれかのアクションが実行されます。

  • RIAと一致するルールがない場合、配備プロセスは「JREのステータス」に進みます。

  • RIAが1つのルールと一致する場合は、次のいずれかのアクションが実行されます。

    • そのルールがRIAの実行を許可する場合は、RIAの署名がチェックされます。署名が有効な場合、またはRIAが署名されていない場合、RIAはセキュリティ・プロンプトを表示せずに、要求されたJREバージョンで実行されます。RIAの署名が有効でない場合は、セキュリティ警告がユーザーに表示され、RIAがブロックされます。

      ルール処理では、有効期限が切れている証明書または証明書失効ステータスをチェックできない証明書を含む署名は有効と見なされ、RIAは実行されます。無効な署名とは、ブラックリストに登録されている、失効している、または何らかの方法で不正な形式にされた証明書を含むものです。

    • そのルールがRIAをブロックする場合は、セキュリティ警告がユーザーに表示され、RIAがブロックされます。

    • そのルールがRIAのデフォルトの処理を要求する場合、配備プロセスは「デジタル署名」に進みます。

24.4 JREステータス

JREのステータス処理では、「JREが期限切れになっているか、セキュリティ・ベースラインを下回っているか」という、配備プロセスの4番目の手順の質問に答えます。このプロセスは、図24-1の「JREのステータス」ボックス(この手順のノードにつながっていて、そのノードの右側に表示されているもの)に示されています。セキュリティ・ベースラインを無視するためのオプションが設定されている場合、JREのステータスはチェックされず、配備プロセスは「デジタル署名」に進みます。デプロイメント・プロパティdeployment.expiration.check.enabledを使用すると、セキュリティ・ベースラインが無視されるかどうかを確認できます。このプロパティの詳細は、第21章「配備構成ファイルおよびプロパティ」を参照してください。

セキュリティ・ベースラインが無視されない場合は、JREが期限切れになっているか、セキュリティ・ベースラインを下回っているかがチェックされます。どちらの条件にも当てはまらない場合、配備プロセスは「デジタル署名」に進みます。JREの有効期限の詳細は、23.1項「Javaクライアントのセキュリティ・レベルの設定」を参照してください。セキュリティ・ベースラインについては、使用しているJDKバージョンの「Update Release Notes」を参照してください。

JREが期限切れになっているか、セキュリティ・ベースラインを下回っている場合は、JREを更新するオプションがユーザーに表示されます。ユーザーの選択に応じて、次のいずれかのアクションが実行されます。

  • ユーザーがあとで更新することを選択した場合、配備プロセスは「デジタル署名」に進みます。

  • ユーザーがRIAをブロックすることを選択した場合、RIAは実行されません。

  • ユーザーがJREを更新することを選択した場合は、java.comにあるダウンロード・ページに移動します。

24.5 デジタル署名

デジタル署名処理では、「RIAに有効な署名が含まれているか」という、配備プロセスの5番目の手順の質問に答えます。このプロセスは、図24-1の「デジタル署名」ボックス(この手順のノードにつながっていて、そのノードの右側に表示されているもの)に示されています。RIAが署名されていない場合、配備プロセスは「セキュリティ・プロンプト」に進みます。

RIAが署名されている場合は、RIAの署名に使用された証明書が検証されます。その証明書が無効または失効している場合、RIAはブロックされます。

RIAが有効な証明書で署名されている場合、またはその証明書の有効期限が切れているか、失効ステータスをチェックできない場合、配備プロセスは「セキュリティ・プロンプト」に進みます。チェックできない証明書を含むRIAに対して実行されるアクションは、Javaコントロール・パネルの「セキュリティ・レベル」の設定によって決まります。

デジタル署名については、「Signing and Verifying JAR Files」を参照してください。

24.6 セキュリティ・プロンプト

配備プロセスの最後の手順はRIAが実行されるかどうかを判断するもので、「必要なセキュリティ・プロンプトはどれか」という、配備プロセスの最後の手順の質問に答えます。RIAが実行される場合、この手順では、古いバージョンが要求されたときに使用されるJREのバージョンも判断します。図24-1の「通常の処理」ボックスおよび「例外サイト・リスト」ボックスは、RIAが実行されるかどうかと、どのセキュリティ・プロンプトが表示されるかを判断するプロセスを示しています。これらのボックスは、この手順のノードにつながっていて、そのノードの右側に表示されています。

古いバージョンが要求されたときに使用されるJREを判断するプロセスは、図24-1の「JREの選択」ボックス(RIAが実行されるかどうかと、どのセキュリティ・プロンプトが表示されるかを判断するためのボックスにつながっているもの)に示されています。

プロセスのこの時点では、RIAを実行するかブロックするかの決定、および表示するセキュリティ・プロンプトの選択は、次の基準に基づいています。

  • Javaコントロール・パネルの「セキュリティ・レベル」の設定のデフォルトは、「高」です。セキュリティ・レベルの詳細は、第20章「Javaコントロール・パネル」20.4項「セキュリティ」を参照してください。

  • RIAの署名証明書の存在

  • RIAの署名に使われた証明書のステータス

  • 例外サイト・リストへのRIAの場所の記載

注: 次回からプロンプトを表示しないオプションを以前にユーザーが選択していた場合、そのプロンプトは抑止されます。次回からプロンプトを表示する代わりに、抑止するオプションの選択時にユーザーが行なった応答が使用されます。

24.6.1 通常の処理

次の表に、RIAの場所が例外サイト・リストに載っていない場合にRIAが実行されるかブロックされるかを示します。

セキュリティ・レベル プロンプトを表示して実行 ブロック
非常に高 署名者のCAキーストアに入っている有効な証明書で署名されているRIAのみが実行を許可されます。RIAのメインJARファイルのマニフェストにPermissions属性が含まれている必要があります。Permissions属性の詳細は、第26章「セキュリティ用のJARファイル・マニフェストの属性」を参照してください。 次のRIAがブロックされます。
  • 有効期限が切れている証明書、または失効ステータスをチェックできない証明書で署名されているもの

  • メインJARファイルにPermissions属性が含まれていないもの

  • 自己署名付き(署名者のCAキーストアに入っていない証明書で署名されたもの)

  • 署名なし

  • ローカル

署名者のCAキーストアに入っている有効な証明書、または失効ステータスをチェックできない証明書で署名されているRIAが、実行を許可されます。RIAのメインJARファイルのマニフェストにPermissions属性が含まれている必要があります。Permissions属性の詳細は、第26章「セキュリティ用のJARファイル・マニフェストの属性」を参照してください。 次のRIAがブロックされます。
  • 期限切れの証明書で署名されているもの

  • メインJARファイルにPermissions属性が含まれていないもの

  • 自己署名付き(署名者のCAキーストアに入っていない証明書で署名されたもの)

  • 署名なし

  • ローカル


RIAの実行が許可され、古いバージョンのJREが要求された場合、配備プロセスは「JREの選択」に進みます。

24.6.3 JREの選択

常に最新バージョンのJREを使用することをお薦めします。ただし、RIAがこのバージョンのJREと互換性がない場合は、そのRIAの実行に必要なバージョンを、JNLPファイルやAPPLETタグで要求できます。

古いバージョンが要求された場合は、以降のセクションで説明されている基準に基づいて、次のいずれかのアクションが実行されます。

  • Secure Static Versioning (SSV)を使用して、要求されたJREバージョンでRIAが再起動されます。

  • インストールされている最新のJREバージョンでRIAが実行されます。

  • RIAがブロックされます。

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.