Archivo de la etiqueta: Java

java coffee

Exception in thread Unsupported major.minor version 52.0, otra vez Java.

Este error no es nuevo para mi, por ejemplo Angry IP Scanner dejó de funcionar, pero supuse que era algún problema con alguna actualización. Algo que es muy frecuente en una distribución rolling release.

El colmo fue que ayer intenté instalar el IDE de Arduino y al intentar ejecutar me di cuenta de dos cosas, que el software esta escrito en Java y que como es tradición trae sus problemas.

El error completo es como este:

Picked up JAVA_TOOL_OPTIONS: 
Exception in thread "main" java.lang.UnsupportedClassVersionError: processing/app/Base : Unsupported major.minor version 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:808)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:443)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:65)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:349)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:348)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:430)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:323)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)`

El problema es la versión de Java.

El mismo mensaje de error menciona un problema de versión de Java. Así que me fui a buscar información por ese lado. Dí con la página del Wiki de Arch (en Manjaro no encontré algo equivalente) relacionada con Java.

Lo primero es identificar cuantas versiones de Java están instaladas y me llevé una sorpresa.

Al ejecutar el comando archlinux-java status me indicó que tenía instalado en mi equipo no una, ni dos, ¡si no tres versiones de Java!.

Available Java environments:
   java-11-openjdk
   java-7-openjdk/jre (default)
   java-8-openjdk

La verdad es que no tenía idea de este dato, pero en fin.

El problema se soluciona cambiando el default a una versión más reciente. Con la versión 8 funciona, con la versión 11 también. Así que dejé esta última con el siguiente comando.

sudo archlinux-java set java-11-openjdk
Arduino IDE trabajando después de ajustar Java. Unsupported major.minor version 52.0
No que no. ¡Listo y funcionando!

Hecho esto, el IDE de Arduino funciona y también Angry IP Scanner así que se puede dar este problema como solucionado.

Problemas para entrar a la página del IDSE [IMSS].

Me llevó unos tres días de batalla, para tener más o menos una solución a los problemas para entrar a una de las peores implementaciones de Java del gobierno mexicano, el famoso IDSE.

Lo peor es que últimamente están “morenizando” la página y al igual que con la CURP , probablemente le están moviendo más de lo que necesario.

Fig. 1 La nueva cara del IDSE.

No voy a entrar en detalles porque gran parte de la búsqueda entra en el terreno de lo esotérico y lo místico. Tal parece que se tiene que poner al frente de la computadora agitando ramas de pirul y quemando incienso para que los duendes mayas de los servidores del IMSS tengan piedad de uno y estén contentos con el sacrificio.

Estas recomendaciones no hacen magia, pero creo que es una buena aproximación a la solución. De esta forma he evitado errores al ingresar.

Obsolescencia programada.

Java ya no es soportado por ninguno de los navegadores modernos como Chrome, Firefox, Edge o Safari. Sólo Internet Explorer (10 o superior) soporta applets de Java dentro de la misma página web.

Sume usted el detalle que en los últimos años quedaron fuera de servicio Windows XP y Windows 7. Así que no le veo mucho futuro a un servicio estancado en un pasado que ya no existe.

Urge una renovación del IDSE que a fin de cuentas es el único medio oficial para realizar trámites ante el IMSS.

Las recomendaciones

Ahora si, van las recomendaciones, espero que tengan suerte 🙂

Java

Tener instalada la última versión de Java que al momento de escribir estas líneas era la versión 8 Update 241.

Explorer

Lo intenté con Firefox, Chrome, El navegador de la esquina y todo parece indicar que sólo funciona con Internet Explorer, si quieren intentarlo con otros no hay problema, a lo mejor tienen suerte.

JavaPolicy.exe

Un paso que tienen que ejecutar obligatoriamente cada vez que desinstalan y/o reinstalan Java es ejecutar el programa JavaPolicy.exe, de lo contrario no podrán ni entrar a la página.

Agregar unos sitios a las excepciones de Java

Últimamente Java ha estado en el ojo del huracán por problemas de seguridad, lamentablemente los administradores del sitio IDSE IMSS no se han puesto al día con esas tendencias y han dejado el tema para otro día. Así que no nos queda más remedio que agregar estos sitios a la lista de excepciones de sitios (Panel de control – Java ).

Panel de control de Java
Fig. 2 Panel de control de Java
  • http://idse.imss.gob.mx/imss
  • http://idse.imss.gob.mx/suadap/EntradaIDSEServlet
  • http://idse.imss.gob.mx/suadap/validar.do

Y como apenas se están modernizando, creo que también es necesario agregar las mismas páginas pero con https al principio, sólo por si las dudas.

Excepciones de sitios de Java, agregar los sitios del IDSE.
Fig. 3 Lista de excepciones de sitios de Java

Eliminar archivos temporales y de caché.

Para eliminar los archivos temporales generalmente uso Glary Utilities que de un solo clic elimina archivos temporales de todos los navegadores y programas ahorrando espacio en Windows.

Pero también hay que eliminar los programas de Java almacenados en su propio caché. Para esto hay que ir al Panel de control de Java – Configuración – Suprimir Archivos – Aceptar.

Fig. 4 Eliminar los programas almacenados en el caché de Java.

Desactivar el proxy

Este punto no lo he confirmado, así que lo voy a recomendar como opcional. Para evitar intermediarios entre el equipo cliente y el servicio de Java del IMSS, desactivé el proxy transparente que tengo configurado en el trabajo (Squid Cache: Version 3.4.11).

Pero eso me llevó a otro punto, se que algunos proveedores de internet como Megacable utilizan un proxy transparente y no veo la forma de desactivarlo, al menos no por parte del cliente.

Internet Explorer no puede mostrar la página web.

11-mar-2020. Al parecer hubo una actualización con los certificados web de la página del IDSE. Irónicamente el sitio del seguro social era un enlace NO seguro. Así que decidieron actualizar los certificados. Tal y como pueden ver en esta imagen.

Información de los nuevos certificados.
El certificado fue emitido el 10 de marzo del 2020.

Ahora el enlace es seguro, pero esto provocó problemas con las versiones más antiguas de Internet Explorer.

Internet Explorer no puede mostrar la página web.
Esta imagen corresponde a Internet Explorer 8.

Todo parece indicar que las versiones anteriores tienen problemas para manejar los certificados. La solución en este caso es actualizar Internet Explorer 11 y con eso se puede entrar nuevamente al sitio del IDSE.

El certificado no es válido (mayo 2020).

Este comportamiento es nuevo. Después de aplicar las recomendaciones anteriores no pude ingresar al IDSE.

Después de subir el certificado, teclear el usuario, contraseña y al pulsar el botón de Iniciar sesión, inmediatamente aparece un mensaje advirtiendo sobre un certificado que no es válido.

El certificado no es válido y no se puede utilizar para verificar la identidad de este sitio web.
Advertencia de seguridad: El certificado no es válido y no se puede utilizar para verificar la identidad de este sitio web.

Si le da continuar, aparece un recuadro rojo advirtiendo algún tipo de error (el texto cambia).

Lo que me funcionó fue cerrar el cuadro del error, haciendo clic en una tachita que esta en la esquina superior derecha del cuadro de error.

Nuevamente teclear el usuario, la contraseña, presionar el botón de Iniciar sesión y en este segundo intento logra entrar. Lo se, suena raro, pero funciona.

Sin garantías

disculpa las molestias
Fig. 5 Parece que le dan mantenimiento muy seguido.

Estas recomendaciones se ofrecen sin garantías, principalmente porque el servicio que ofrece el IMSS es muy inestable, no puede uno estar seguro de nada por que a veces funciona y otras no.

Súmele usted la enorme cantidad de personas queriendo hacer el trámite, bueno el colmo, en una ocasión me apareció un mensaje de que le estaban dando mantenimiento al servicio ¡Uffff!

AppletFIEL.jar Missing required permissions manifest

Un usuario me reportó hoy en la mañana un problema al intentar abrir el sitio de Ventanilla Única

En el espacio donde se teclea el nombre de usuario y contraseña marca un error como este:

Missing required permissions manifest attribute in main jar AppletFIEL.jar

“Missing required permissions manifest attribute in main jar AppletFIEL.jar”

Siendo sincero, no soy fan de Java y mucho menos de sus aplicaciones en el gobierno de México, no son consientes de los temas de seguridad que implica tener estos programas en Java, pero en fin.

Este problema aparece en las nuevas actualizaciones de Java, en el momento de escribir este artículo es la Version 7 Update 51.

Afortunadamente es sencillo solucionarlo, hay que ir al panel de control, buscar El panel de configuración de Java y agregar la dirección https://www.ventanillaunica.gob.mx/ (incluyendo https://) como una Excepción de seguridad presionando el botón Editar lista de sitios….

Lista de excepciones de sitios

Este problema se presenta por la nuevas políticas de seguridad en la nueva versión de Java así que puede ocurrir en cualquier otro sitio, no sólo en la Ventanilla Única, les paso el dato para que lo tomen en cuenta.

También el Servicio de Administración Tributaria

Conforme las personas vayan actualizando a la última versión de Java, este tipo de problemas va a ser más frecuente.

Un amigo en facebook me comenta que también el SAT esta presentando el mismo problema.

Servicios SAT

Así que si desean agregar el sitio:

Como otra excepción no estaría de más.

Comunicado de Oracle sobre el tema.