lunes, febrero 07, 2022

 

Formato del DNI

Desde hace ya algún tiempo, en el reverso de los DNI tenemos, además del nombre (y apellidos) y el número junto a los habituales símbolos de "menor que" (<) otros campos y números cuyo significado no está tan claro. Vamos a echarle un vistazo y a aclarar que es exactamente cada cosa con estas lineas de ejemplo de un DNI ficticio:

IDESP12345678Z3<<<<<<<<<<<<<<<
7501045M0907198ESP<<<<<<<<<<<6
GARCIA<JIMENEZ<<CLAWGRIP<<<<<<

Primera linea:

ID        = Tipo de documento (DNI)
ESP       = País emisor del documento (España)
12345678Z = Número del documento
3         = Dígito de control del número del documento

Segunda linea:

750104 = Fecha de nacimiento (1 de enero de 1975)
5      = Dígito de control de la fecha de nacimiento
M      = Sexo (masculino)
090719 = Fecha de caducidad (19 de julio de 2009)
8      = Dígito de control de la fecha de caducidad
ESP    = Nacionalidad (española)
6      = Dígito de control (total)

Tercera linea:

GARCIA   = Apellido
JIMENEZ  = Apellido
CLAWGRIP = Nombre

Es curioso que al preguntarle a la gente por el significado de los dígitos de control te suelen contestar con variadas gilipoyeces, las más comunes son que se refieren al número de personas que tienen tu mismo número de DNI o que es el número de personas ya muertas que tuvieron este número.

Vamos a explicar como se calcula este dígito de control:

Primero le asignamos un peso a cada caracter segun la siguiente tabla:

 A  B  C  D  E  F  G  H  I  J  K  L  M
10 11 12 13 14 15 16 17 18 19 20 21 22

 N  O  P  Q  R  S  T  U  V  W  X  Y  Z
23 24 25 26 27 28 29 30 31 32 33 34 35

Los caracteres numéricos tienen su mismo valor como peso (y el "<" vale 00):

 0  1  2  3  4  5  6  7  8  9
00 01 02 03 04 05 06 07 08 09

Teniendo los valores numéricos de los caracteres, los vamos multiplicando para obtener su peso definitivo: Si su posición dentro del campo (empezando por 1) es múltiplo de 3 se queda igual (x1), si es múltiplo de 2 (pero no de 3) multiplicamos por tres (x3) y al resto los multiplicamos por siete (x7). Para obtener el peso total del campo sumamos los pesos definitivos de todos sus caracteres.

Ejemplo (fijaos en que el valor numérico de "Z" es 35):

12345678Z = 1x7 + 2x3 + 3x1 + 4x7 + 5x3 + 6x1 + 7x7 + 8x3 + 35x1 = 173

Teniendo el peso numérico total del campo (en nuestro ejemplo es 173) simplemente calculamos el módulo respecto de 10 y ya tenemos el dígito de control, que en nuestro ejemplo sería 173 % 10 = 3.

Una observación importante para obtener el dígito de control total: Hay que excluir los campos de sexo y nacionalidad.

Y por último, comentar un par de cosas:
Primero que las expediciones de números de DNI sigue un sistema de rangos preasignados, normalmente por comisaría; si tenemos un número bajo no es que nos haya tocado el número de un muerto, sino que se nos ha asignado un número de un rango que, vete tú a saber porqué, no se había gastado aún, a pesar de llevar asignado algún tiempo. No hay dos DNI con el mismo número, ni de muertos ni de vivos.
Y segundo que el formato de estas lineas de nuestro DNI, al igual que las de los pasaportes, están normalizadas por ICAO y por ISO, aunque desgraciadamente los documentos con las especificaciones son de pago en ambos sitios.


lunes, enero 08, 2018

 

Sortear los problemas de AutoFirma 1.5 en macOS

En la versión 1.5 de AutoFirma, muchos usuarios de macOS están encontrando problemas cuando intentar firmar trámites alojados en sitios Web HTTPS con certificados SSL de FNMT.

Muchos de estos problemas se deben a que estos certificados de FNMT no están declarados como de confianza en AutoFirma 1.5 para macOS (aunque sí en la versión 1.6, aún no publicada en el momento de escribir este artículo) y, en ciertos modos de funcionamiento (en los llamados "con servidor intermedio"), es necesario que lo estén. Esta confianza no se configura en el sistema operativo (llavero de macOS) ni en el entorno de ejecución de Java del sistema (tampoco en el navegador Web), sino de forma interna a la aplicación.

Para los que tengan que realizar un trámite firmado en macOS y no puedan esperar a la versión 1.6, publico una forma sencilla de sortear el problema:


  1. Cerramos AutoFirma si estuviese en ejecución.

  2. Ejecutamos un terminal. Para ello, basta con pulsar en su icono desde el launchpad de macOS:
    launchpad  terminal"

  3. Ejecutamos los siguientes comandos

    curl -k -o /var/tmp/FNMTCERAAPP.cer https://www.sede.fnmt.gob.es/documents/10445900/10526749/AC_Administracion_Publica_SHA256.cer
    
    sudo /Applications/AutoFirma.app/Contents/Resources/Home/bin/keytool -keystore /Applications/AutoFirma.app/Contents/Resources/Home/lib/security/cacerts -storepass changeit -importcert -alias FNMTAAPP -file /var/tmp/FNMTCERAAPP.cer -noprompt
    
    curl -k -o /var/tmp/FNMTROOT.cer https://www.sede.fnmt.gob.es/documents/10445900/10526749/AC_Raiz_FNMT-RCM_SHA256.cer
    
    sudo /Applications/AutoFirma.app/Contents/Resources/Home/bin/keytool -keystore /Applications/AutoFirma.app/Contents/Resources/Home/lib/security/cacerts -storepass changeit -importcert -alias FNMTROOT -file /var/tmp/FNMTROOT.cer -noprompt
    
    rm /var/tmp/FNMTCERAAPP.cer
    
    rm /var/tmp/FNMTROOT.cer
      
Tras cada comando que empiece por sudo se nos puede pedir una contraseña. La que hay que usar es la de nuestro usuario de macOS.

Una vez hechos estos cambios, los trámites deberían funcionar adecuadamente. No es necesario reiniciar macOS.


This page is powered by Blogger. Isn't yours?