Este post está patrocinado por Martín Villafañe, de la empresa ITCM Solutions. Martín ha donado 100€ para el banco de alimentos en mi iniciativa "¿Te he ayudado? Ayúdame a ayudar a otros". ¡Muchas gracias Martín!
¿Y tú, a qué esperas para echar un cable? Si te he ayudado, ayúdame a ayudar a los demás, aunque sea con 1€.

Si tienes que relacionarte con la Administración en España, más pronto que tarde tendrás que instalarte el programa Autofirma. Se trata de un programa escrito en Java, que pesa un montón, y que básicamente sirve para firmar archivos digitalmente a partir de un certificado digital. Las páginas oficiales lo utilizan para firmar solicitudes, entradas de documentos y cosas por el estilo. También lo puedes utilizar de manera autónoma para firmar archivos digitalmente.

Por defecto funciona bien con los infames certificados de la Fábrica Nacional de Moneda y Timbre. Pero en ocasiones, y especialmente si quieres utilizarlo con tu DNI digital (DNIe), al lanzarlo desde un navegador no te funcionará. Se abrirá una ventanita para seleccionar un certificado pero con la lista vacía:

La lista de certificados de Autofirma, vacía

Las únicas posibilidades que te da son refrescar la lista (no vale par nada), intentar cargar un archivo con un certificado (tampoco funciona), y un inútil botón de ayuda.

Mal. Muy mal.

En el momento de escribir esto, enero de 2021, llevan casi 2 años sin actualizar la aplicación (abril de 2019), que está compilada con la versión 11 de Java. Y falla estrepitosamente al ocurrir esto.

Por suerte la solución es fácil, e implica engañar a la aplicación, de manera simple, para hacer que funcione con una versión más moderna de la plataforma Java.

Paso 1: Descárgate la versión más reciente del JDK de Java

El JDK (Java Development Kit) es el conjunto de herramientas de la plataforma Java que nos permiten desarrollar para la misma (más info aquí). La aplicación de Autofirma pesa tanto porque incluye el JDK 11 entero en lugar de JRE (el runtime) en una subcarpeta de la carpeta de instalación (más sobre esto luego).

Descárgate la versión más reciente  para tu sistema (la 15 al escribir esto) del JDK desde https://jdk.java.net/ (en esta animación yo me bajo la de Windows):

La animación muestra cómo bajarse el JDK, algo extremadamente sencillo.

Se trata de la versión Open source del JDK (Open JDK) y es de libre distribución y uso. Ocupa 187 Mb (por eso "pesa" tanto Autofirma: porque lo incluye entero), así que tardará unos minutos porque el servidor no es el más rápido del mundo tampoco.

Paso 2: Descomprimir el ZIP con el JDK

Una vez descargado descomprime sus contenidos a una carpeta en cualquier sitio, por ejemplo en la propia carpeta de descargas.

Dentro contiene una carpeta llamada jdk-15.0.1 o similar (según la versión exacta).

Cambia el nombre a la carpeta y llámale exactamente jre.

Paso 3: Sustituir el JDK de Autofirma

Asegúrate de que Autofirma no está en ejecución.

Ahora abre el explorador de archivos de tu sistema y vete a la carpeta de Autofirma. En Windows está en C:\Program Files\AutoFirma\AutoFirma. Desconozco dónde estará ubicada en macOS o Linux pero intuyo que será fácil averiguarlo, sorry.

Dentro de esta carpeta verás una subcarpeta llamada, lo has adivinado, jre. Cámbiale el nombre a, por ejemplo, jre-11 o incluso elimínala si tu disco anda corto de espacio (aunque yo te recomiendo que la conserves por si las moscas).

Ahora copia ahí tu nueva carpeta jre, creada en el paso anterior, quedando algo como lo que se ve en la animación:

La animacion muestra que ahora tengo dos carpeta: jre y jre-11 (la antigua), y el contenido de la primera

A pesar del nombre que tiene, lo que estás haciendo es sustituir la versión 11 del JDK por la más reciente.

¡Listo!

Ahora, cuando vuelvas a lanar Autofirma desde el navegador se abrirá la ventana de selección de certificados y mostrará todos los instalados en el sistema y también el certificado digital contenido en tu documento nacional de identidad electrónico (DNIe), permitiéndote firmar sin problemas y acabar el infernal trámite con la Administración:

La figura muestra, ahora sí, la lista de Autofima con los certificados en mi sistema

Una última advertencia: en el improbable caso que que utilices Autofirma para algo más que cuando te obligan, si ejecutas la aplicación desde el menú de inicio, o sea, no desde el navegador, te aparecerá un mensaje como este:

El mensaje dice que estás usando Java 15 y la app no está pensada para usarlo por lo que podrían producirse errores

Haz caso omiso de él. Te funcionará perfectamente. Y en el improbable caso de que tuvieras algún fallo, siempre puedes renombrar las carpetas jre para cambiar la versión en cualquier momento (cerrando antes Autofirma) para hacer el proceso a la inversa.

¡Espero que te resulte util!

¿Este post te ha ayudado?, ¿has aprendido algo nuevo? Entonces, me niego a creer que no puedas donar ni 1€ a los que necesitan algo tan básico como comer. Por cada euro que pongas tú, yo pondré otro.
¡No pases de ellos! También es tu responsabilidad.
Vamos a ayudarlos juntos