次の項目について説明します。
JDK 7u45 リリースには、次の拡張機能が含まれています。
ブラウザでの Java アプレットおよびアプリケーションの実行時のセキュリティーを向上させるために、JAR ファイルマニフェストの属性を使用できます。Application-Name
属性を使用すると、RIA にセキュアなタイトルを指定できます。Application-Library-Allowable-Codebase
は、JNLP ファイルまたは HTML ページが JAR ファイルと異なる場所にある場合に、RIA が起動されると予想される場所を識別します。The Caller-Allowable-Codebase
属性は、JavaScript コードが RIA 内のメソッドを呼び出すことができる場所を識別します。詳細は、「セキュリティー用の JAR ファイルマニフェストの属性」を参照してください。
Java コントロールパネルには、「次回から表示しない」オプションを選択した際に非表示にされたセキュリティープロンプトを復元するためのオプションがあります。詳細は、Java コントロールパネルの「セキュリティー」タブのドキュメントを参照してください。
JDK 7u40 リリースには、次の拡張機能が含まれています。
共通の実行環境を提供し、従業員がアクセスするアプリケーションを管理する企業では、デプロイメントルールセット機能を使用すると、一部のアプリケーションにはセキュリティープロンプトなしで実行されることを許可し、その他のアプリケーションは自動的にブロックされるというルールを作成できます。この機能は、組織で内部的に使用されることを目的としています。詳細は、「デプロイメントルールセット」を参照してください。
RIA が起動されると、JRE が期限切れになっているか、セキュリティーベースラインを下回っているかがチェックされます。そうなっている場合は、ユーザーに警告が表示され、その JRE をアップグレードする機会が与えられます。ユーザーのシステムの更新プロセスを管理する企業では、deployment.expiration.check.enabled
プロパティーを設定することで、このチェックを抑止できます。詳細は、「デプロイメント構成ファイルおよびプロパティー」を参照してください。
また、このガイドの「Rich Internet Application 配備プロセス」セクションでは、RIA の配備がどのように行われるかを確認できます。
JDK 7u25 リリースには、次のセキュリティー拡張機能が含まれています。
Java アプレットおよび Java Web Start アプリケーションが実行される前に、署名証明書が失効していないことがチェックされます。Java コントロールパネルの「詳細」オプションを設定すると、そのチェックが行われるかどうか、およびそのチェックに使用されるサービスを管理できます。デフォルトでは、すべての証明書が OCSP および CRL の両方を使ってチェックされるようになっています。詳細は、「Java コントロールパネル」ドキュメントの「証明書失効チェックを実行」および「次を使用した証明書失効のチェック」セクションを参照してください。
Permissions
および Codebase
は、承認されていないコードの再利用から RIA を守るために使用される、JAR ファイルマニフェストの新しい属性です。これらの属性は、アプレットおよび Java Web Start アプリケーションの署名付き JAR ファイルで使用されます。これらの属性の詳細は、「RIA の再利用の防止」を参照してください。Java チュートリアルの「Deploying an Applet」および「Deploying a Java Web Start Application」レッスンの手順 2 と手順 3 には、これらの属性をマニフェストに含める方法が説明されています。 また、「セキュリティーダイアログ」セクションには RIA の起動時に表示されるプロンプトに関する情報が記載され、Java チュートリアルの「Deployment Best Practices」には RIA を配備するための提案が記載されています。
このリリースには、Java アプレットと Java Web Start アプリケーションである Rich Internet Application (RIA) を実行する際に役立つ、次のセキュリティー拡張機能が含まれています。
RIA は、RIA の初回起動時に実行を許可するようユーザーに求めるプロンプトを表示します。そのプロンプトには、アプリケーションの署名に使われた証明書、アプリケーションの場所、およびアプリケーションがリクエストするアクセスのレベルに関する情報が含まれています。ほとんどの場合、同じアプリケーションの次回以降の起動では、ユーザーはそれらのプロンプトをオフにできます。それらのプロンプトについては、「Java からセキュリティープロンプトが表示される場合はどうすればよいですか。」を参照してください。
認識されている認証局が発行した証明書を使って署名されている RIA では、ユーザーが 1 回クリックすれば、そのアプリケーションを実行できます。自己署名付きと署名なしのアプリケーションでは、その起動前にユーザーが追加の手順を実行する必要があります。そのため、最善のユーザー体験のためには、RIA を信頼できる証明書で署名してから、エンドユーザーに配備します。JAR ファイルの署名については、「Signing and Verifying JAR Files」を参照してください。
Java コントロールパネルで設定したセキュリティーレベルやユーザーの JRE バージョンによっては、自己署名付きまたは署名なしのアプリケーションの実行が許可されない場合があります。デフォルト設定の「高」では、ローカルアプレット以外のすべてがセキュアな JRE で実行されることが許可されます。ユーザーがセキュアでない JRE を実行している場合は、認識されている認証局が発行した証明書で署名されているアプリケーションのみが実行を許可されます。
「低」および「カスタム」設定は使用できなくなりました。
詳細は、「Java コントロールパネル」の「セキュリティー」セクションを参照してください。
サンドボックスアプリケーション (以前は「署名なし」または「信頼できない」アプリケーションと呼ばれていた) は、セキュリティーサンドボックスに制限されます。特権付きアプリケーション (以前は「署名付き」アプリケーションと呼ばれていた) は、ユーザーのシステムに無制限にアクセスできます。
JNLP を使って起動される Java Web Start アプリケーション (アプレットを含む) の場合は、.jnlp
ファイル内の security
要素を使ってアクセスのレベルを設定します。その要素が存在しない場合、アクセスはサンドボックスに制限されます。詳細は、「Security in Rich Internet Applications」を参照してください。
JNLP を使って起動されないアプレットの場合は、permissions
要素を applet
または object
要素に追加して、アクセスのレベルを sandbox または all-permissions に設定します。詳細は、「Deploying With the Applet Tag」を参照してください。
Trusted-Library
属性でタグ付けされていない場合は、警告ダイアログが表示されます。詳細は、「特権付きコードとサンドボックスコードの混合」を参照してください。 JDK 7u10 リリースには、次の拡張機能が含まれています。
詳細は、「Java クライアントのセキュリティーレベルの設定」および「Java コントロールパネル」を参照してください。
このリリースには、Oracle による Mac 向け JRE および JDK のリリースが含まれています。関連情報を次に示します。
このリリースで導入された Web 配備アプリケーション用の機能強化を次に示します。
Java SE に JavaFX が含まれる: JDK 7 Update 2 以降には JavaFX SDK が含まれています。詳細は、「JavaFX 2.0.2 Release Notes」を参照してください。
配備ツールキットを使用した JRE と JavaFX の非ブロックインストール: 配備ツールキットが必要なコンポーネントをダウンロードしてインストールする間、Web ページは引き続きユーザー入力を受け入れます。詳細は、7052499 を参照してください。
署名付き JAR ファイルのフットプリントの削減: このリリースで提供される新しい署名方式を使えば、すべての JAR エントリに個別に署名する代わりに、1 つの大きなオブジェクトとして JAR ファイルに署名できます。これにより、JAR の合計サイズを最大 10% 節約できます。注:これらの JAR を使用するためには、ユーザーは JRE 7 Update 2 以降を実行する必要があります。7049193 と、パッケージングのセクション「Sign the JAR Files」(このセクションの情報は Java SE にも当てはまる) を参照してください。
署名付きアプリケーション用の JNLP ファイルの証明書キャッシュの詳細: セキュリティーを使用するアプリケーションの場合、バックグラウンドでアプリケーションをダウンロードしている間、ユーザーの承認を得るためにキャッシュ済みの証明書が即座にセキュリティーダイアログに表示されます。古い JRE はこの機能を無視し、アプリケーションのダウンロード後に証明書情報を表示します。7049169 と、パッケージングのセクション「Embed Signing Certificate into Deployment Descriptor」(このセクションの情報は Java SE にも当てはまる) を参照してください。
キャッシュがデフォルトで有効にされる: Web Start モードで実行されるアプリケーションコードのネットワークコンテンツのキャッシュが、デフォルトで有効になりました。これにより、アプリケーションのパフォーマンスが向上し、アプレットの実行モードとの一貫性も保てます。コンテンツの最新のコピーが確実に使用されるようにするには、アプリケーション内で URLConnection.setUseCaches(false)
を使用するか、あるいはリクエストヘッダー Cache-Control
の値 no-cache
/no-store
を使用できます。
Web Start での埋め込み JNLP のサポート: 配備ツールキットは、Web ページに埋め込まれた JNLP ファイルのコピーを使ってアプリケーションを起動できます。これにより、Web Start アプリケーションをブラウザから最初に起動するのに必要なネットワーク接続の数を減らせます。7052492 と、パッケージングのセクション「Embed Deployment Descriptor into Web Page」(このセクションの情報は Java SE にも当てはまる) を参照してください。
配備ツールキットを使って Web ページ内から Web Start アプリケーションにセキュアな JVM 引数を渡す機能: これにより、JVM 構成の不一致による JVM 再起動を回避しやすくなるほか、Web ページから動的パラメータを渡すことも容易になります。7072364 と、「Deployment in the Browser」のセクション「Platform」(このセクションの情報は Java SE にも当てはまる) を参照してください。
gzip でエンコードされたコンテンツの処理の改善: 配備キャッシュはアプリケーションコンテンツを圧縮形式のまま保持し、それをそのままアプリケーションに返します (HTTP ヘッダーの content-encoding は gzip)。これにより、異なる実行モード (初回の起動と後続の起動、キャッシュの有効時と無効時) にわたる動作の一貫性が向上します。詳細は、6575586 を参照してください。
JNLP アプリケーションのサポートの改善: JavaFX アプリケーションのアンインストールがよりクリーンに行われます。7085171 と 7053087 を参照してください。JNLP インストールヒントの認識が改善しています。7046670 を参照してください。
Java コントロールパネルの新しい設定「安全でない JRE のバージョン」: ユーザーがセキュリティーベースライン未満の Java バージョンをシステムで使用している場合、そのバージョンを使用してアプリケーションまたはアプレットを実行できるようになる前に、警告メッセージが表示されます。この警告メッセージを制御するには、Java コントロールパネルの「詳細」タブの設定「安全でない JRE のバージョン」を使用します。これは、deployment.properties
ファイル内のプロパティー deployment.insecure.jres
を次のいずれかの値に設定します。
deployment.insecure.jres プロパティーの値 |
「安全でない JRE のバージョン」設定の値 | 説明 |
---|---|---|
NEVER |
安全でない JRE のバージョンを使用しない | 信頼できないコンテンツは常にデフォルトの JRE で実行されます。 |
PROMPT |
安全でない JRE のバージョンを使用する前にユーザーに尋ねる | ユーザーに警告ダイアログが表示されます。これがデフォルト値です。 |
ALWAYS |
安全でない JRE のバージョンの使用を許可 (非推奨) | 信頼できないコンテンツは、ユーザーに通知することなく要求された JRE で実行されます。 |
deployment.properties
ファイルの詳細については、「デプロイメント構成ファイルおよびプロパティー」を参照してください。
information
および resources
要素の os
属性に Windows の特定のバージョン (Windows Vista、Windows 7 など) を含めることができるようになりました。shortcut
要素の install
属性を使ってインストールの要求を指定できます。インストールされたアプリケーションは、Java Web Start のキャッシュをクリアーしても削除されませんが、Java コントロールパネルを使えば明示的に削除できます。codebase
属性を指定しなくても配備できます。「Deploying Without Codebase」を参照してください。さらに、次の拡張機能が導入されています。
分野: デプロイメント
標準/プラットフォーム: JDK 7
概要: 以前は、pack200 ツールの出力はデフォルトでセグメント化されていました。このリリースの pack200 ツールでは、jar ファイルごとに 1 つの大きなセグメントが作成されます。このため、エンドユーザーのシステム上で利用できる仮想メモリーよりも大きな jar ファイルがデプロイされている場合は、入力 jar ファイルを分割するか、あるいはコマンド行フラグ「--segment-limit=nnnnn」または同等のプロパティー「SEGMENT_LIMIT」を使用して適切にセグメント化することを推奨します。
RFE: 6575357
分野: デプロイメント
標準/プラットフォーム: JDK 7
概要: Windows XP マシンの、デフォルトのキャッシュディレクトリが $USER\Local Settings\Application Data\Sun\Java\Deployment\cache になりました。必要に応じてこれをネットワーク共有フォルダにポイントするようにカスタマイズすると、複数のドメインマシン間で 1 つのアプリケーションキャッシュを利用できます。
RFE: 7012538
分野: デプロイメント
標準/プラットフォーム: JDK 7
概要: オプションのアプレットパラメータ jnlp_embedded を使用すると、JNLP コンテンツを HTML ページ上にキャッシュすることで、ネットワークアクセスをスキップしてアプレットの起動時間を短縮できます。jnlp_embedded パラメータの値は、アプレットの JNLP ファイルのコンテンツを base64 でエンコードしたものになります。たとえば、
<applet width="710" height="540" > <param name="jnlp_href" value="launch.jnlp"/> <param name="jnlp_embedded" value="PD94bWwgdmVyc2lvbj0iMS4wIiB . . . dC1kZXNjPg0KPC9qbmxwPg0K"/> <param name="draggable" value="true"/> </applet>jnlp_embedded パラメータが指定されると、この値によって jn.p_href パラメータが指定した JNLP 値のコンテンツが置換されます。この場合、jnlp_ref の値はオプションであり、jnlp_embedded のコンテンツが無効である場合にバックアップとしてのみ使用されます。JNLP コンテンツの埋め込みに関しては、いくつかの制限事項があります。
分野: デプロイメント
標準/プラットフォーム: JDK 7
概要: JDK 7 では、キャッシュの消去は次のように実施されます。
分野: JNLP ファイル
標準/プラットフォーム: JDK 7
概要: Java Web Start アプリケーションのデバッグをサポートするため、信頼できるアプリケーション向けに JNLP ファイルで -XX:HeapDumpOnOutOfMemoryError フラグがサポートされるようになりました。
RFE: 6664424
分野: JNLP ファイル
標準/プラットフォーム: JDK 7
概要: 以前のバージョンの Java Web Start は、JNLP 仕様のセクション 6.0.10 が正しく実装されていませんでした。この修正によって、os="Windows\ XP"、os="Windows\ Vista"、os="Windows\ 7" といった「os」属性の詳細な指定が期待どおりに動作するようになります。os="Win" や os="Windows" という値も引き続きすべての Windows プラットフォームに適用されます。このリリースでは、os="Windows\ Vista Windows\ 7" という値は Vista または Windows 7 にのみ適合し、Windows XP には適合しません。
RFE: 7014170
分野: プラグイン
標準/プラットフォーム: JDK 7
概要: プラグイン 1 が使用されるたびに、最初の世代の Java Plug-in が非推奨になったことを示すメッセージがログファイルと Java コンソールに出力されるようになりました。
RFE: 7027792
分野: プラグイン
標準/プラットフォーム: JDK 7
概要: Windows 上で、トレイアイコンがデフォルトで無効になりました。トレイアイコンを有効にするには、Windows の「スタート」メニューを使用してください。
RFE: 6694710
分野: プラグイン
標準/プラットフォーム: JDK 7
概要: 64 ビットのツールキットが 64 ビットの Windows プラットフォームでサポートされるようになりました。
RFE: 6492139
分野: プラグイン
標準/プラットフォーム JDK 7
概要: 以前の Persistence API は、アプレットに対して一時的な永続性のみを提供していました。VM が終了すると、データは失われていました。LiveConnect を使用してページの DOM 内にデータを保存するか、または JNLP サービスの 1 つを使用することで、任意の標準 Java メカニズムを介してデータを永続化できます。
RFE: 6992419
分野: プラグイン
標準/プラットフォーム: JDK 7
概要: DT Plugin で Google Chrome がサポートされるようになりました。
RFE: 6907245