Exportar e importar firmas digitales en GNU/Linux

Firma digital

Firma digital

Ando liado con trámites tributarios.

La firma digital es una de esas cosas de la tecnología que te hace preguntar: ¿cómo hemos podido vivir sin esto? Puede parecer una exageración, pero el hecho de poder hacer trámites de la Agencia Tributaria o de asuntos relacionados con tu ayuntamiento desde el PC de tu casa, no tiene precio. No tienes que pedir horas en tu trabajo, no haces colas, es muy rápido e indoloro. La pega que tiene es el soporte técnico. Tiene un soporte horrible. A pesar de haber cursado asignaturas en la carrera donde se ven los certificados, firmas y demás engendros digitales, tengo que reconocer que me cuesta un poco tanto “palabroto” técnico (X.509, PKCS12, PEM, etc). No quiero imaginar a mi madre haciendo esto.

El asunto es que ayer probé a usar mi firma digital y comprobé que estaba caducada (tenia que haberla renovado por la propia web meses antes de que caducara). Era necesario volver a solicitar una nueva. El proceso es sencillo:

  1. Entras en la web de CERES y solicitas un certificado de usuario (no sé como irá el tema de los DNIe)
  2. Te piden el NIF y te generan un código que tienes que guardar.
  3. Es necesario que te presentes con el DNI en la oficina más cercana que expida firmas digitales (hay un buscador que calcula la más cercana a tu dirección).
  4. Te presentas en la oficina, enseñas el código, el DNI y firmas el contrato de adhesión.
  5. Vuelves a tu casa, te conectas a la web de CERES y especificando tu DNI y el código previamente asignado, ¡voila! el certificado se instala en tu equipo.

El proceso anterior es la teoría. En la práctica hay una letra pequeña que cuando se lee ya es tarde. Cuando vuelves de firmar el contrato y pinchas en la opción de descarga, aparece un párrafo que dice: “El certificado se descargará en el navegador y PC con el que solicitó el certificado“. El gráfico “Uppss” aparece en mi cabeza: “PC el de siempre…, navegador web… Google Chrome Beta para GNU/Linux“. Por supuesto, Chrome todavía no está preparado para gestionar este tipo de certificados personales. La cuestión es que, aún sabiendas de que posiblemente no iba a funcionar, pulsé en “Descargar“. Ni el puntero del ratón se movió. Indagando un poco en cómo gestiona Chrome los certificados, me doy con una utilidad muy potente, certutil.

Resulta que Chrome guarda los certificados bajo la ruta ~/.pki/nssdb/ en varios ficheros que suelen ser bases de datos SQLite3.

Uno de los cometidos de certutil es mostrar los certificados que existen en esa base de datos. Para ser exacto, esta línea me mostró todos los certificados

certutil -L -d sql:~/.pki/nssdb 

Qué sorpresa me lleve cuando comprobé que la última línea correspondía con mi certificado personal. Resultó que cuando le di a descargar el certificado, Chrome lo guardo ahí.

Genial. Si el certificado está ahí, seguro que puedo exportarlo e importarlo en Firefox (que sí esta soportado). ¿Cómo?

Después de buscar un poco, encontré una opción para exportar certificados para LDAP que usaba la utilidad pk12util.

El nombre de esta utilidad viene del formato de documento, PKCS12, se trata simplemente de una forma de codificar un certificado digital que contiene tu clave pública y privada mediante una contraseña para que nadie te pueda usurpar. Era necesario por tanto establecer una contraseña y guardarla en un archivo (por ejemplo, /tmp/clave”). La sintaxis que usé para exportar mi certificado fue:

 pk12util -d sql:~/.pki/nssdb -n "<nombre-certificado-mostrado-por-certutil>" -o <nombre-fichero-salida>.p12  -w /tmp/clave -k /tmp/clave 

El mensaje de salida fue: pk12util: PKCS12 EXPORT SUCCESSFUL

Faltaba la prueba de fuego: ¿funcionará en Firefox?¿cargará por fin la Oficina Virtual?

Podéis imaginar que sí 🙂

Firefox, después de solicitarme la clave que especifiqué en “/tmp/clave”, importó sin problemas el certificado y la oficina virtual por fin entró.

No sé si este post servirá para alguien o no. Por lo menos dejó registró en la web por si algún día necesito recurrir a estos comandos (ya sabéis eso de volver a tropezar con la misma piedra).

He obviado algunos detalles sobre la importación y solicitud de firma digital. En la Web hay bastante información al respecto. No obstante, si teneis dudas, preguntad 🙂

ACTUALIZACIÓN:

La versión 10.0.648 (y posterior) de Chrome soporta ya la gestión de  certificados.

Translate to:English
MenefanteMenéame TwitterTwitter

Salamanca y la Informática

El Astronauta perdido

El Astronauta perdido (Catedral Nueva de Salamanca)

Este finde he estado en Salamanca. Nunca habia estado antes. Me ha parecido una ciudad muy bella con gran cantidad de monumentos (sus calles, la Plaza Mayor, Universidad, etc).

Paseando por sus calles (principalmente alrededor de la Plaza Mayor) me he percatado de que gran cantidad de comercios cuentan con pantallas de TV en sus escaparates. A esto se le conoce como un digital signage sencillo.

En la calle también encontré kioscos digitales con pantallas táctiles que dan una gran cantidad de información sobre los monumentos, zonas para tapear, etc. (echo en falta el envio de rutas turísticas por Bluetooth, por ejemplo).

Pero lo que más me sorprendió fue sin duda un bar/restaurante asturiano donde tienen una tarjeta de fidelización/prepago con unas máquinas registradoras dispersas por el establecimiento.

Creo que Salamanca es un mercado abierto a la innovación y donde la Informática no sale maltratada. El resto de ciudades españolas (sobre todo por el Sur) deberían tomar ejemplo.

Enhorabuena salamantinos por vuestra bella (y bien cuidada) Ciudad y por vuestra actitud innovadora.

Leer más de esta entrada