Spec-Zone .ru
спецификации, руководства, описания, API

java.security.AccessControlException Thrown In the Execution of java.beans.Introspector.setBeanInfoSearchPath() Method


Symptoms

When running an applet in a browser by using the Sun JavaTM Runtime Environment (JRETM) implementation, a java.security.AccessControlException is thrown in the execution of the java.beans.Introspector.setBeanInfoSearchPath() method as shown below:

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 ....

The same applet runs without any error with the Microsoft Virtual Machine (VM).

Cause

The Introspector.setBeanInfoSearchPath() method call can change the list of package names used for finding BeanInfo classes. If more than one applet is running in the VM, an untrusted applet could call this method to redirect other applets to look up BeanInfo in unexpected packages. This is a flaw in security.

A security check for java.util.PropertyPermission is added to Introspector.setBeanInfoSearchPath() method in the JRE to address the security concern. If the applet is unsigned and it calls this method, a java.security.AccessControlException is thrown.

Resolution

To fix the above causes:

Related Information

        See jarsigner, which is the JAR Signing and Verification Tool.