Enabling Class Access in Java WebStart

I created a .jar file that contains my classes along with classes that I extracted from several Apache Tomcat banners. Then I signed the jar and created a JNLP file with <security><all-permissions/> .

But when starting my application, WebStart denies access to classes from my bank:

 java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.catalina.deploy) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:393) at java.security.AccessController.checkPermission(AccessController.java:553) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1529) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:291) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1018) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2444) at java.lang.Class.getMethod0(Class.java:2687) at java.lang.Class.getMethod(Class.java:1620) at org.apache.catalina.startup.SetPublicIdRule.begin(WebRuleSet.java:639) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276) ... 33 more 

Is this a bug in WebStart or why am I getting this security exception?

+4
source share
1 answer

Try to clear the security manager by calling:

 System.setSecurityManager(null); 

I used this from a Java Web Start application to get full control, but the application needs to be signed and have

 <security> <all-permissions/> </security> 

as you stated correctly.

+1
source

Source: https://habr.com/ru/post/1403860/


All Articles