javahttpsproxyjava-web-starttunneling

Java Web Start: Unable to tunnel through proxy since Java 8 Update 111


Some of our customers cannot run our Java Web Start client anymore since Java 8 Update 111. They get:

java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required

Looks like it has to do with this change:

Now, proxies requiring Basic authentication when setting up a tunnel for HTTPS will no longer succeed by default. If required, this authentication scheme can be reactivated by removing Basic from the jdk.http.auth.tunneling.disabledSchemes networking property, or by setting a system property of the same name to "" ( empty ) on the command line.

Is there any way if customers are not willing to change their proxy authentication method?

Note: Adding <property name="jdk.http.auth.tunneling.disabledSchemes" value=""/> to <resources> of the JNLP has no effect. This is because only a few properties are supported this way (there is a list near the bottom of this page). "jdk.http.auth.tunneling.disabledSchemes" is not among them.


Solution

  • I found out that there is one way, but not in the hands of the developer: The user can add

    -Djdk.http.auth.tunneling.disabledSchemes=""
    

    for Java 8 in Java Control Panel → Java → View... → Runtime Parameters

    for Java 9 in Java Control Panel → Desktop Settings → Runtime Parameters