How can I force Java Web Start to run a self-signed JNLP?
Asked Answered
B

2

4

We are developing an app that uses Java Web Start.

When I try to start my JNLP file, I get this warning: Java Application Blocked

The "Location" (http://<IP>:port) has been added to the Exception Site List. I would have thought that this would in itself be enough to make the JNLP run.

However, I have also done the following under "Advanced":

I only have one Java version - it is Java 1.8.0_91, 32-bit.

What more do I need to do to make my JNLP run?

Breakaway answered 13/5, 2016 at 15:8 Comment(2)
Adding the exception should be enough. I don't think you need the port in there. Also how do you call javaws? javaws http://ip/xxx.jnlp?Mendelian
Have you checked that the exception is added to the list (in %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites)? do you call javaws on http://xxx or on file://xxx or against a mapped drive?Mendelian
B
1

The problem was that the Permissions attribute was missing in the manifest, and was therefore blocked without warning in Java 1.8. The warning appears if you run Java 1.7.

Breakaway answered 25/5, 2016 at 8:14 Comment(0)
P
0

Java security is a fun little thing to have to wrestle with.

Add the site for your JavaWS application to the Java Security exceptions list. You're saying you've done that, but have you also tagged your JNLP file to indicate what site it came from?

At heart, the jnlp file is just an XML file and unless it says where it came from, java might be unable to determine whether it comes from a trusted site.

Do you have a tag in the JNLP similar to this?

<jnlp href="someWebstartApp.jnlp" spec="1.0+" codebase="http://myserver.com/" xmlns:jfx="http://javafx.com">

Specifically, the bits for the href (name for the jnlp file on the codebase) and codebase (where the jnlp file and jars can be found).

Alternately, you might try invoking javaws directly from the command line:

javaws http:/myserver.com/someWebstartApp.jnlp

This would let Java grab the JNLP file itself, rather than the launch process from the browser which might fail to tell Java which URL the jnlp came from.

Pilatus answered 24/5, 2016 at 19:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.