Reputation: 6472
I have created a .jar file which contains my classes together with classes which I have extracted from multiple Apache Tomcat jars. Then I have signed the jar and created a JNLP file with <security><all-permissions/>
.
But when running my application, WebStart denies access to classes from my jar:
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 do I get this security exception?
Upvotes: 4
Views: 1446
Reputation: 69
Try clearing the security manager by calling:
System.setSecurityManager(null);
I have used this from a Java Web Start application to gain complete control but the application needs to be signed and have the
<security>
<all-permissions/>
</security>
as you stated correctly.
Upvotes: 1