java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)

别来无恙 提交于 2019-12-11 14:26:57

问题


I'm trying to launch my java applet (version java 6) in server webpage but When I run it i have the next error:

    java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)
    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.checkPackageAccess(Unknown Source)
    at sun.plugin2.applet.Applet2SecurityManager.checkPackageAccess(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at es.inteco.applet.AppletFirmaDNIe.init(AppletFirmaDNIe.java:168)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Excepción: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)
Ignored exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)

With eclipse, this Applet works fine but when I try it in the server don't work. I'm using an unsigned applet (.jar). Can be this, the ploblem??

In my java .policy file I added these lines and still not working

grant {
permission java.security.AllPermission;
permission java.security.AccessControlException;
permission java.lang.RuntimePermission;
permission java.lang.RuntimePermission "accessClassInPackage.sun.security.pkcs11";
};

the same error like with these original .policy file:

grant {
permission java.security.AllPermission;
};

Have anybody idea of the problem and the solution??

Thanks in advance


回答1:


You need to sign your applet, and latest java security baseline will block any applet signed with an untrusted certificate authority.

If you choose to self-sign the applet, you may need to lower your java security settings in order for your applet to execute.




回答2:


Oracle's recent Java distributions (since roughly last summer) has disabled access to anything in any package that starts with "sun.".

This can be overcome by using policytool to add:

permission java.lang.RuntimePermission accessClassInPackage.sun.

to your local java.policy file.




回答3:


add this to your java.policy file or use the policytool:

grant {
  permission java.lang.RuntimePermission accessClassInPackage.sun "com.acme.yourpackagename";
};


来源:https://stackoverflow.com/questions/23917474/java-security-accesscontrolexception-access-denied-java-lang-runtimepermission

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!