Pregunta

Mi Java applet firmado ha estado funcionando muy bien hasta que la actualización de Java 19. Ahora algunos, pero no todos nuestros usuarios en Actualización de Java 19 Informe un mensaje de seguridad de Java que indica que nuestra subprograma contiene tanto el código firmado y sin firmar.

El proceso de creación de nuestro applet es como sigue:

  1. limpieza y construcción del proyecto del applet en NetBeans IDE.
  2. Abrir el archivo jar applet en WinRAR y añadir archivos de MySQL JDBC conductor requerido .class al archivo JAR.
  3. Muestra el archivo jar applet.

Puede alguien por favor dígame cómo determinar lo que se firmó el código y lo que el código no está firmado en nuestro Applet? ¿Hay una mejor manera de incluir el archivo JAR del controlador JDBC de MySQL en nuestro applet de que no sea copiar el contenido del archivo jar en nuestro archivo jar subprograma?

Gracias

¿Fue útil?

Solución

Algunas cosas para probar:

  • Ir al panel de control plugin de Java ($ JAVA_HOME / bin / Panel de Control).
  • Vaya a la pestaña Advanced.
  • Expandir Debug
  • Comprobar Enable tracing, Enable logging y Show applet lifecycle exceptions
  • Expandir Java console
  • Comprobar Show console
  • Haga clic OK (o Close, dependiendo de su sistema operativo)

Cuando se haya cargado el applet de Java de la consola se abrirán. Haga clic en él e inmediatamente pulse '5'. Se registrará los frascos y las clases han recuperado a ejecutar el applet. En alguna parte en esto no debería ser un mensaje indicando qué frascos o las clases se consideran "sin firmar". Si se olvida la primera vez, simplemente recargar la ventana para intentarlo de nuevo.

Otros consejos

Edit: Debido a un error en Java 7 Actualización 45 usted no debe agregar Trusted-Biblioteca a su archivo de manifiesto. Sólo tiene que añadir el nuevo atributo Caller-admisible-código base. Ver esta cuestión para más información: applet de Java manifiesta - Permitir todo el Caller-admisible -Codebase

Java 7 Actualización 21 fue lanzado el 16 de abril de 2013 y causó nuestro applet para empezar a mostrar este cuadro de diálogo de advertencia.

Según las notas de la versión: A partir del JDK 7u21, el código JavaScript que el código de llamadas dentro de un applet de privilegio se trata como código de advertencia y diálogos mixtos se eleva si los archivos JAR firmados no se marcan con el atributo de confianza-Biblioteca.

Para solucionar este editar su archivo manifest.mf y añadir una línea como la siguiente:

Trusted-Library: true

Se debe tener mucho cuidado antes de hacer esto, sin embargo. Si el applet firmado puede ser llamado desde Javascript a continuación un usuario malintencionado puede potencialmente hacer cosas dañinas en los ordenadores de los usuarios.

Una forma rápida para asegurar el applet es para evitar que se ejecute en otros sitios web. Para ello, poner el código en el método init() que mira getCodeBase().getHost() y produce una excepción si no coincide con su sitio.

Java 7 Actualización 25 introduce otra forma de limitar los sitios en los que el applet se puede ejecutar. Se puede establecer el atributo CODEBASE en el archivo de manifiesto de esta manera:

Codebase: test.example.com www.example.com

Java 7 Actualización 45 (releated 16 de de octubre de 2013) introduce más cambios en el sistema de LiveConnect (puente-javascript-a applet) que pueden causar otro aviso. Este artículo habla de los cambios 7u45: https://blogs.oracle.com/ java-plataforma-grupo / entrada / liveconnect_changes_in_7u45

Básicamente, usted también querrá añadir lo siguiente a su archivo de manifiesto para evitar las indicaciones:

Caller-Allowable-Codebase: test.example.com www.example.com

Si usted está vendiendo un producto que incluye un applet y usted no sabe qué dominios que se puede implementar en puede rellenar * aquí.

La mezcla de confianza y código no confiable juntos es una vulnerabilidad que se ha fijado en el (liberación de la CPU actual / SSR en el momento de la escritura) 6u19. Consulte la documentación. El bloqueo de la mezcla o utilizando un depurador debe mostrar dónde está el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top