visor start instalar descarga como asociar archivos abren abre java https proxy java-web-start tunneling

start - oracle java web



Java Web Start: no se puede hacer un túnel a través del proxy desde Java 8 Update 111 (3)

Descubrí que hay una forma, pero no en manos del desarrollador: el usuario puede agregar

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

en el Panel de control de Java → Java → Ver ... → Parámetros de tiempo de ejecución

Algunos de nuestros clientes ya no pueden ejecutar nuestro cliente Java Web Start desde Java 8 Update 111. Obtienen:

java.io.IOException: no se puede hacer un túnel a través del proxy. Proxy devuelve "HTTP / 1.1 407 Autenticación Proxy requerida

Esto podría tener que ver con este cambio:

Ahora, los servidores proxy que requieren autenticación básica al configurar un túnel para HTTPS ya no tendrán éxito por defecto. Si es necesario, este esquema de autenticación se puede reactivar eliminando Basic de la propiedad de red jdk.http.auth.tunneling.disabledSchemes o configurando una propiedad del sistema con el mismo nombre en "" (vacío) en la línea de comando.

http://www.oracle.com/technetwork/java/javase/8u111-relnotes-3124969.html

Sin embargo, no estoy seguro de cómo aplicar el cambio necesario con Java Web Start. Agregar una etiqueta de propiedad al JNLP como este no tuvo ningún efecto:

<resources> ... <property name="jdk.http.auth.tunneling.disabledSchemes" value=""/> ... </resources>

¿Alguna idea?

Actualización : parece que solo hay algunas propiedades compatibles de esta manera. Aquí hay una lista:

http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/syntax.html

"jdk.http.auth.tunneling.disabledSchemes" no está entre ellos :(

Entonces, ¿no hay forma de habilitar el túnel básico auth HTTPS en Java Web Start?


Además de la respuesta de mbee, también se puede configurar esto en el archivo net.properties de la jre:

C:/Program Files (x86)/Java/jre1.8.0_131/lib/net.properties

Actualmente, la última línea 100 debe ser comentada:

Antes de:

#jdk.http.auth.proxying.disabledSchemes= jdk.http.auth.tunneling.disabledSchemes=Basic

Después:

#jdk.http.auth.proxying.disabledSchemes= #jdk.http.auth.tunneling.disabledSchemes=Basic

Tenga en cuenta que ambas respuestas deben repararse después de una actualización de Java, aunque la actualización automática de Java está desactivada con la autenticación básica de proxy de Internet.


Si necesita hacer esto en tiempo de ejecución, puede establecer el valor de la propiedad jdk.http.auth.proxying.disabledSchemes al agregar

System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");

al método principal de su aplicación.