Error de Java: “Su configuración de seguridad ha bloqueado el funcionamiento de una aplicación local”

Estoy intentando ejecutar este código HelloWorld simple escrito en Java desde mi navegador ( Chrome ):

public class HelloWorld extends JApplet { public void init() { try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { JLabel lbl = new JLabel("Hello World"); add(lbl); } }); } catch (Exception e) { System.err.println("createGUI didn't complete successfully"); } } 

Lo compilé con NetBeans y luego creé un proyecto de aplicación web. El código HTML que ejecuta el applet es:

       

Si ejecuta el applet de NetBeans, funciona. Pero cuando ejecuto el código HTML haciendo doble clic en él, aparece el siguiente mensaje desde el navegador:

Su configuración de seguridad ha bloqueado la ejecución de una aplicación local.

Lo intenté con Internet Explorer y Firefox, pero nada.

Este mensaje comenzó a aparecer después de la última actualización de Java. ¿Dónde está el problema?

Después de leer las mejoras de seguridad de Java 7 Update 21 en detalle, mencione ..

Con los cambios introducidos es muy probable que ningún usuario final pueda ejecutar su aplicación cuando están firmados o no.

Me preguntaba cómo sería esto para los archivos de clase sueltos, los ‘más simples’ de todos.

Sistema de archivos local

Diálogo: su configuración de seguridad ha bloqueado el funcionamiento de una aplicación local
Su configuración de seguridad ha bloqueado el funcionamiento de una aplicación local

Ese es el diálogo que se ve para un applet que consiste en archivos de clase sueltos que se cargan fuera del sistema de archivos local cuando el JRE se configura con la configuración de seguridad ‘Alta’ predeterminada.


Tenga en cuenta que una ligera peculiaridad del JRE solo produjo eso en el punto 3 de.

  1. Cargue la página de applet para ver un símbolo de applet roto que conduce a una consola vacía.
    Abra la configuración de Java y establezca el nivel en Medio .
    Cierre el navegador y la configuración de Java.
  2. Cargue la página del applet para ver el applet.
    Abra la configuración de Java y configure el nivel en Alto .
    Cierre el navegador y la configuración de Java.
  3. Cargue la página de applet para ver un símbolo de applet roto y el cuadro de diálogo anterior.

Internet

Si carga el applet simple (archivo de clase suelta) visto en esta demostración de applet redimensionable fuera de Internet , que cuenta con un elemento de applet de:

  

Pluggable Look'n'Feel Changer appears here in a Java capable browser.

También parece cargarse con éxito. Que implica eso: –

Los applets cargados desde el sistema de archivos local ahora están sujetos a un entorno limitado de seguridad más estricto que los cargados desde Internet o un servidor local.

Descripciones de las configuraciones de seguridad

A partir de Java 7 actualización 51.

  • Muy alto : configuración más segura: solo se permitirán las aplicaciones Java identificadas por un certificado no caducado de una autoridad de confianza.
  • Alto (mínimo recomendado) : las aplicaciones Java identificadas por un certificado de una autoridad de confianza podrán ejecutarse.
  • Medio : todas las aplicaciones Java podrán ejecutarse después de presentar un mensaje de seguridad.

Enfrenté el mismo problema hoy, y pude solucionar el problema cambiando la configuración de seguridad en el Panel de control de Java de HIGH a MEDIUM .

Bueno, no se recomienda realmente establecer Java Security Setting en MEDIUM de forma permanente, ya que esto permitirá que un software malintencionado potencialmente se ejecute en su sistema y no se bloquee. Así que sugiero que después de ejecutar su applet, desee volver a cambiar la configuración a ALTO.

Ubicación del panel de control de Java

Cambiar la configuración del Panel de control

Si está utilizando Linux , estas configuraciones están disponibles usando /usr/bin/jcontrol (o su configuración de ruta para obtener las herramientas Java actuales). También puede editar los archivos en ~/.java/deployment/deployment.properties para establecer “deployment.security.level = MEDIUM”.

Sorprendentemente, esta información no está disponible en el sitio web de Oracle. Extraño java.sun.com …

  1. Ir al Panel de control
  2. Haga doble clic en Java
  3. Abra la pestaña Seguridad
  4. Seleccionar medio
  5. Haga clic en Aplicar
  6. Reinicia tu navegador web

¡Eso es!

enter image description here

Si no tiene un nivel de seguridad Medio, entonces debe agregar su aplicación a la Lista de sitios de excepciones ( Panel de control de Java → pestaña Seguridad ).

  1. Abra su applet en un navegador y copie el contenido de su barra de direcciones. captura de pantalla de la dirección del applet en la barra de direcciones
  2. Vaya a Panel de controlPanel de control de Java → pestaña Seguridad y presione el botón Editar lista de sitios ... captura de pantalla de la pestaña de Seguridad del Panel de control de Java

  3. Presione el botón Agregar , inserte su ruta y presione Entrar. captura de pantalla de la lista de sitios de excepción

  4. Presione Continuar en la advertencia de seguridad que aparece. captura de pantalla de Advertencia de seguridad - Solicitud de alerta de ubicación de ARCHIVO

  5. Abra el applet nuevamente y no olvide presionar Ejecutar en la ventana emergente. captura de pantalla de Advertencia de seguridad

Si es como yo, cuyo Panel de control de Java no muestra el control deslizante Seguridad en la pestaña Seguridad para cambiar el nivel de seguridad de Alto a Medio, siga estas instrucciones: Error conocido de Java: control deslizante de seguridad no visible .


Síntomas:

Después de la instalación, la casilla para habilitar / deshabilitar Java y el control deslizante del nivel de seguridad no aparecen en la pestaña de Seguridad del Panel de control de Java. Esto puede ocurrir con 7u10 y superior.

Porque

Esto se debe a un conflicto que Java 7u10 y superiores tienen con las instalaciones independientes de JavaFX. Ejemplo: si Java 7u5 y JavaFX 2.1.1 están instalados y si Java se actualiza a 7u11, el Panel de control de Java no muestra la checkbox ni el control deslizante de seguridad.

Resolución

Se recomienda desinstalar todas las versiones de Java y JavaFX antes de instalar Java 7u10 o superior.
Siga los pasos a continuación para resolver este problema.
1. Elimine todas las versiones de Java y JavaFX a través del Panel de control de desinstalación de Windows. Instrucciones para desinstalar Java .
2. Ejecute la utilidad de desinstalación de Microsoft para reparar claves de registro dañadas que impidan que los progtwigs se desinstalen por completo o bloqueando nuevas instalaciones y actualizaciones.
3. Descargue e instale el paquete de instalación de Windows sin conexión .

Los applets de Java crean un riesgo de seguridad, por lo tanto, están deshabilitados en la mayoría de los navegadores modernos. Tienes que bajar la seguridad para ejecutarlo. Hay una guía de Oracle para eso.

  • A partir de Java 8, no hay configuración de riesgo “medio” en la pestaña Seguridad en Java

  • Seguirás obteniendo este error hasta que vuelvas a Java anterior (sugirió Java 7, sin embargo, ha llegado al final de la vida útil).

  • Instale versiones de 32 bits y de 64 bits. ¿Por qué? Debido a que los navegadores aún son de 32 bits, incluso en una máquina de 64 bits, SO de 64 bits

Mi problema era ejecutar el archivo portecle.jnlp localmente usando Java8.

Lo que funcionó para mí fue

  1. Comience Progtwigs -> Java -> Configure Java …
  2. Vaya a Seguridad -> Editar lista de sitios …
  3. Agregar http://portecle.sourceforce.net
  4. Inicie javaws portecle.jnlp en el prompt de CMD

En el paso 3, puede intentar agregar también file: /// c: /path/portecle.jnlp, pero esta adición no ayudó con mi caso.