注: この Java 配備ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。

java.beans.Introspector.setBeanInfoSearchPath() メソッドの実行時に java.security.AccessControlException がスローされる

症状

Sun Java™ Runtime Environment (JRE™) 実装を使ってブラウザ内でアプレットを実行すると、java.beans.Introspector.setBeanInfoSearchPath() メソッドの実行時に java.security.AccessControlException がスローされます。

java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPropertiesAccess(Unknown Source)
    at java.beans.Introspector.setBeanInfoSearchPath(Unknown Source)
    at ....

同じアプレットが、Microsoft Virtual Machine (VM) では何のエラーもなく実行されます。

原因

Introspector.setBeanInfoSearchPath() メソッドの呼び出しでは、BeanInfo クラスの検索に使用されるパッケージ名の一覧を変更できます。複数のアプレットが VM で実行中の場合、ほかのアプレットに BeanInfo の検索をリダイレクトするために、想定外のパッケージで、信頼されていないアプレットがこのメソッドを呼び出す可能性があります。これはセキュリティー上の欠陥です。

セキュリティーに関する事柄を扱うため、JRE では java.util.PropertyPermission に対するセキュリティーチェックを Introspector.setBeanInfoSearchPath() メソッドに追加します。署名なしのアプレットがこのメソッドを呼び出すと、java.security.AccessControlException がスローされます。

解決方法

上記の原因を修正するには、次の手順に従います。

詳細情報

       JAR 署名および検証ツールである「jarsigner」を参照してください。


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