{"id":895,"date":"2009-05-31T16:00:50","date_gmt":"2009-05-31T14:00:50","guid":{"rendered":"http:\/\/www.marblestation.com\/?p=895"},"modified":"2012-04-26T16:16:52","modified_gmt":"2012-04-26T14:16:52","slug":"dni-electronico-en-ubuntu-gnulinux","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=895","title":{"rendered":"DNI electr\u00f3nico en Ubuntu GNU\/Linux"},"content":{"rendered":"<p>Mediante lectores de tarjetas inteligentes como <a href=\"http:\/\/www.c3po.es\/ltc31.html\">LTC31<\/a> podemos hacer que nuestro sistema lea los <a href=\"http:\/\/www.dnielectronico.es\/\">DNIs electr\u00f3nicos<\/a> que se emiten actualmente.<\/p>\n<p>Vamos a configurar el sistema para que Ubuntu reconozca el dispositivo lector y podamos utilizarlo desde el navegador Firefox. Para ello, instalaremos los paquetes necesarios (muchos de los pasos que describo los he obtenido del art\u00edculo <a href=\"http:\/\/universo.emergya.info\/espacios\/fontanon\/dnie-y-lector-acr38-bajo-linux\">DNIe y lector ACR38 bajo Linux<\/a>):<br \/>\n<!--more--><\/p>\n<pre>\r\n# Herramientas para que el sistema reconozca el lector\r\napt-get install pcscd pcsc-tools libccid opensc\r\n# Integraci\u00f3n con mozilla\r\napt-get install mozilla-opensc libnss3-tools\r\n<\/pre>\n<p>Adicionalmente, tendremos que instalar el driver concreto para poder leer DNIs que lo proporciona el ministerio del interior mediante la <a href=\"http:\/\/www.dnielectronico.es\/descargas\/PKCS11_para_Sistemas_Unix\/distribuciones_linux.html\">secci\u00f3n de descargas<\/a>. Por ejemplo, en mi caso descargo la versi\u00f3n de Ubuntu Intrepid 64 bits (funciona tambi\u00e9n en Jaunty):<\/p>\n<pre>\r\nwget http:\/\/www.dnielectronico.es\/descargas\/PKCS11_para_Sistemas_Unix\/opensc-dnie_1.4.5-1_amd64_Ubuntu_Intrepid_Ibex.deb.tar\r\ntar -xvf opensc-dnie_1.4.5-1_amd64_Ubuntu_Intrepid_Ibex.deb.tar\r\ndpkg -i opensc-dnie_1.4.5-1_amd64_Ubuntu_Intrepid_Ibex.deb\r\n<\/pre>\n<p>A continuaci\u00f3n podemos ejecutar &#8220;Aplicaciones &#8211; Oficina &#8211; Registrar m\u00f3dulo DNIe PKCS#11&#8221; para que se active el soporte en Firefox (m\u00f3dulo &#8220;\/usr\/lib\/opensc-pkcs11.so&#8221;) y se a\u00f1ada el certificado de la Direcci\u00f3n General de la Polic\u00eda.<\/p>\n<p>Por otra parte, podemos comprobar si el sistema reconoce correctamente el lector. Lo conectamos, ejecutamos pcsc_scan e introducimos nuestro DNI:<\/p>\n<pre>\r\n# pcsc_scan\r\nPC\/SC device scanner\r\nV 1.4.14 (c) 2001-2008, Ludovic Rousseau &#60;ludovic .rousseau@free.fr>\r\nCompiled with PC\/SC lite version: 1.4.99\r\nScanning present readers\r\n0: C3PO LTC31 00 00\r\n\r\nSat May 30 17:00:41 2009\r\n Reader 0: C3PO LTC31 00 00\r\n  Card state: Card removed,\r\n\r\nSat May 30 17:01:27 2009\r\n Reader 0: C3PO LTC31 00 00\r\n  Card state: Card inserted,\r\n  ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00\r\n\r\nATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00\r\n+ TS = 3B --> Direct Convention\r\n+ T0 = 7F, Y(1): 0111, K: 15 (historical bytes)\r\n  TA(1) = 38 --> Fi=744, Di=12, 62 cycles\/ETU (57600 bits\/s at 3.57 MHz)\r\n  TB(1) = 00 --> VPP is not electrically connected\r\n  TC(1) = 00 --> Extra guard time: 0\r\n+ Historical bytes: 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00\r\n  Category indicator byte: 00 (compact TLV data object)\r\n    Tag: 6, len: A (pre-issuing data)\r\n      Data: 44 4E 49 65 20 02 4C 34 01 13\r\n    Mandatory status indicator (3 last bytes)\r\n      LCS (life card cycle): 03 (Initialisation state)\r\n      SW: 9000 (Normal processing.)\r\n\r\nPossibly identified card (using \/usr\/share\/pcsc\/smartcard_list.txt):\r\n3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00\r\n3B 7F 38 00 00 00 6A 44 4E 49 65 [1,2]0 02 4C 34 01 13 03 90 00\r\n    DNI electronico (Spanish electronic ID card)\r\n    http:\/\/www.dnielectronico.es\r\n<\/pre>\n<p>Si todo ha ido bien, vayamos a intentar leer los certificados de nuestro DNI mediante Firefox. Lo abrimos con el lector conectado y vamos a &#8220;Editar &#8211; Preferencias &#8211; Avanzado &#8211; Cifrado &#8211; Ver Certificados &#8211; Sus Certificados&#8221;, donde nos pedir\u00e1 el PIN de nuestro DNI.<\/p>\n<p>Podemos comprobar la autenticaci\u00f3n y firma mediante la p\u00e1gina de prueba de la FNMT:<\/p>\n<p><a href=\"https:\/\/av-dnie.cert.fnmt.es\/compruebacert\/compruebacert\">https:\/\/av-dnie.cert.fnmt.es\/compruebacert\/compruebacert<\/a><\/p>\n<p>Finalmente, determinados sitios web intentaran acceder al lector mediante Java (p.ej. entidades financieras como Bankinter o ING-Direct) y necesitaremos soporte para Java, para lo cual tendremos que escoger la versi\u00f3n abierta o la de Sun:<\/p>\n<pre>\r\napt-get install openjdk-6-jre icedtea6-plugin\r\napt-get install sun-java6-jre sun-java6-plugin\r\n<\/pre>\n<p>Por desgracia, no he sido capaz de autenticarme en ninguna web que intente acceder al DNI mediante Java. Con la versi\u00f3n OpenJDK\/IcedTea me salta un mensaje de error que no ofrece muchas pistas y con la versi\u00f3n de Sun me indica que el sistema operativo no es compatible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mediante lectores de tarjetas inteligentes como LTC31 podemos hacer que nuestro sistema lea los DNIs electr\u00f3nicos que se emiten actualmente. Vamos a configurar el sistema para que Ubuntu reconozca el dispositivo lector y podamos utilizarlo desde el navegador Firefox. Para ello, instalaremos los paquetes necesarios (muchos de los pasos que describo los he obtenido del &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=895\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">DNI electr\u00f3nico en Ubuntu GNU\/Linux<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-895","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=895"}],"version-history":[{"count":7,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/895\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/895\/revisions\/1215"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}