DNI Electrónico Perú (MacOS/Linux)

Les comparto la experiencia que tuve para poder hacer andar mi DNI Electrónico Peruano en mi MacBook con High Sierra, la verdad que no hay mucha ciencia en esta ocasión solamente usar el Middleware adecuado, y de pasada darles alcance de otros recursos que de verdad fueron difíciles de conseguir, pero de todas maneras un agradecimiento a la gente de RENIEC, y de Oberthur por el apoyo.

El Objetivo de este documento es lograr que puedan usar las funcionalidades del dnie en otras plataformas que no sean Microsoft Windows, si bien no es un manual de paso por paso les dará las herramientas e indicaciones para poder lograr este objetivo.

Primero algo de teoría, El DNIe Peruano tiene un chip con javacard, el cual contiene dos certificados digitales uno que nos permite firmar documentos y otro que nos permite autentificarnos y podernos logear a páginas web como Beca18, RENIEC, EDDAS, etc.

La gran ventaja que tenemos con el DNIe es que nos permite llevar a Internet todas las operaciones que antes no podíamos realizar de manera virtual, asegurando LEGALMENTE la identidad de nuestros usuarios en la red, esto que significa que nuestro sistema web puede tener un sistema de logeo basado en DNIe, donde al momento que el usuario se logee estamos completamente seguros que es el, ademas que un documento PDF firmado con tu DNIe tiene la misma valides de un documento firmado fisicamente, todo esto respaldado por la Ley 27269 esto ya el año dos mil, recién se esta aplicando en el Perú efectivamente desde mediados del año pasado, bueno lo importante es que ya lo tenemos, ahora debemos de masificarlo.

Hay otras funcionalidades que le podemos dar a nuestro DNIe, en si lo que nos motivo a realizarlo es para  poder usar el certificado del DNIe para poder encriptar la comunicación de VPN L2TP sobre IPSEC con nuestros servidores, ya dandole un nivel de seguridad de grado militar a nuestras comunicaciones de VPN. Actualmente, estamos desarrollando una plataforma para control de puertas eléctricas para control de seguridad.

Acá encontraras recursos que llegue a encontrar para que pueda funcionar el DNIe Peruano (Oberthur Technologies), en especial el que me costo bastante es el que funcione para MacOS High Sierra, más de uno tendrá ese problema de seguro.

Bueno primero debes de tener un Lector de Tarjetas SmartCard que sea compatible con el sistema operativo en el cual queremos trabajar y con ISO7816, esto es muy importante, ya que es el estándar que usa nuestros DNIe, ahora los precios van desde los 7U$ la unidad, depende de gustos y colores puedes comprarlos en linea en Aliexpress (si estas dispuesto a esperar como un mes para que llegue) para mis pruebas use un lector con chipset Alcor Micro AU9560  (que es compatible con mi MacBook) ahora si quieres comprar al por mayor puedes hacerlo en Alibaba. y te saldrá hasta en 4.4U$. incluso existen teclados los cuales ya vienen con el lector que son ideales para empresas publicas que cuentan con desktop en caso quieran más información no duden en contactarme.

Ahora una observación en mis intentos fracasados también utilice otras versiones de controladores de smartcards de terceros, como CSSI, PKard, OpenSC, y literalmente es una perdida de tiempo al probarlo en MacOS, y si ya intentaste con estas versiones antes, te recomiendo que reinstales el sistema operativo, porque ya esta corrupto, de verdad fue un lío para mi ya que en un momento PKard que si reconoció la SmartCard de DNIe Peruano, no podía abrir el repositorio, así que no pierdas el tiempo, y ni desinstalandolo e instalando el correcto pude hecharlo a andar, así que reinstala tu OS y instala de frente la ultima versión de AWP disponible.

RENIEC solo llego a proveerme solo los controladores del AWP (AuthentIC WebPack) 4.4.3, en MacOS superior al 10.10  y  RHEL superior al 7  no funciona pero acá les dejo los Links de descarga, porque en si son los controladores oficiales distribuidos por RENIEC.

Algo que también me ayudo para entender como funciona el DNIe es el manual de diseño

En MacOS solamente estos controladores te funcionaran si tienes una versión anterior a Yosemite, después de esta versión MacOs dejo de usar tokend, para usar el servicio de SmartCard, es por ese motivo que los controladores que entrega RENIEC no funcionan en Sierra o High Sierra, así que si tienes estos sistemas operativos corre de frente a AWP 5.2 y no te hagas problema.

Realicé pruebas con mi DNIe en las diferentes plataformas con el AWP 5.2.2, ahora no se si el estado peruano cambiara de proveedor de SmartCards en el futuro pero actualmente 26Nov17, están usando solo las de Oberthur Technologies, el modelo Cosmo v7.0 que es reconocida como OT AWP o AuthentIC , si llegas a tener otra SmartCard, por favor avísame.

Ahora si te dejo los recursos para poder hechar andar tu DNIe Peruano en otros sistemas operativos diferentes a Windows.

Documentación

Windows 7,8 y 10

Nota: A partir de Windows 7 el controlador esta en el repositorio de Windows, lo que te permite el Middleware son otras funciones como poder cambiarle la contraseña a nuestro DNI.

Mac OSX / MacOS

Linux

 

AHORA LO BUENO LO MALO Y LO FEO 

Ya con todo esto ya debe de andar tu DNIe en tu plataforma operativa, pero en este punto es donde vienen los otros problemas  de lo que puedes hacer y lo que no puedes hacer, en si RENIEC oriento todo su diseño incluso las de aplicaciones para plataformas Windows la mayoría de sus aplicaciones estas diseñadas como applets de java los cuales dicho sea de paso ya están dejando de funcionar en las ultimas versiones de navegadores, así que si vas a usar aplicaciones de RENIEC, lamentablemente estas condenado a usar Microsoft Windows.

Ahora en las aplicaciones web de RENIEC, en si usa un applet de java para la autentificación del usuario, como dije antes las nuevas versiones de navegadores ya no están dejando usar plugin de java, por lo cual deberas de usar una versión de navegador antigua, o una versión especial como Firefox ESR la que te permitira ejecutar estos applets sin problema, pero ojo no solo es problema de navegador sino tambien con la versión de java, como les comente todo esto esta diseñado para Windows, si bien Java puede ejecutar en cualquier plataforma no tendra acceso a los repositorios que contienen tus certificados, asi que te recomiendo si vas a usar los aplicativos de RENIEC te recomiendo que sigas al pie de la letra los instructivos que te envia  reniec, aca les envio un test en linea que te permitira ver si funciona tu DNI correctamente para funcionar con RENIEC,

Te soy sincero en decirte que no pierdas el tiempo de hacerlo andar en otra plataforma, ya que el procedimiento que usa reniec usa para ingresar a los certificados solo usa repositorios en windows.

Por otro lado el software de firma electrónica REFIRMA que entrega RENIEC, si bien corre en cualquier plataforma con JAVA (me corrió en MacOs y RHEL ), también tiene el mismo problema, de acceso a los certificados, tiene una opción para usar el certificado desde un fichero, pero lamentablemente la Private Key de la smart card no se puede exportar (esto es bueno desde el punto de vista que asegura la no clonación del DNIe), entonces estamos en lo mismo, pero se puede usar software de terceros como Adobe Reader con el cual con una pequeña modificación podremos firmar nuestros documentos.

Ahora cual es la pequeña modificación y porque, en si RENIEC genero un certificado raíz el cual ningún sistema operativo lo tiene agregado dentro de sus certificados de confianza, por lo cual es necesario que le den esa confianza, primero lo que necesitas los certificados de RENIEC lo puedes descargar desde:

descargas todos los ficheros crt; estos certificados son los que tenemos que agregar a nuestra lista de certificados de confianza este proceso varia dependiendo del sistema operativo que tengamos instalado, en MacOS High Sierra solamente debemos entrar a “Acceso a Llaveros”  menú Archivo >> Importar Elementos  y seleccionar uno por uno estos certificados, eso lo agregara en el llavero de “Sistema”, después debemos de darle la confianza a los certificados raíz  donde debemos ingresar en cada uno y dentro de la sección de “Confiar” seleccionar “Confiar siempre” estos certificados son “RENIEC Certification Authority” y “RENIEC High Grade Certification Authority” todos los demás certificados entraran en confianza por delegación.

Ahora el Acrobat Reader tiene su propio repositorio de certificados de confianza donde se debe de realizar el mismo proceso de importación dentro de sus certificados de confianza, y darle editar confianza indicando “Utilizar este certificado como raíz de confianza” (solo a los dos certificados raíz) y listo con esto ya nuestro Acrobat Reader podrá firmar y validar firmas digitales de RENIEC.

hasta acá ya podemos firmar electronicamente nuestros PDF; dicho sea de paso todos los documentos firmados con el adobe acrobat pueden ser validados, con el software de REFIRMA de RENIEC, así que la otra parte que reciba el documento podrá validarlo con el software de reniec, si bien la firma varia la forma (no va a tener el escudo del estado peruano ahí) la podemos mejorar  para que tenga un aspecto mas profesional.

Ahora los procesos de Autentificación, como comente al inicio El DNIe támbien tiene un certificado el cual nos permite autentificar de manera remota, haciendo uso de la encriptación de dos vias es posible que los servidores remotos puedan recibir información encriptada del usuario, asegurando la confiabilidad de la información y la identidad de la persona que lo esta realizando, en caso que se retire el DNIe del cliente, la comunicación se corta, permitiendo que nuestro DNIe se convierta en una llave para ejecutar estas operaciones, un perfecto ejemplo de esto es lo que se esta realizando desde el portal web de Beca18, el cual su uso es más transparente para los usuarios, sin necesidad de estar instalando plugins ni nada por el estilo (reniec tome nota por favor)

Bueno espero que les sirva este documento, cualquier consulta tratare de responder

4 Replies to “DNI Electrónico Peruano en plataformas MacOS/Linux”

    1. Bueno el problema creo que va por el tema legal, porque necesitas firmar documentos automaticamente desde un servidor, si necesitas un tema de validacion legal, adquiere un certificado para persona juridica, estos certificados si te los entregan en fichero para que puedas automatizar esas tareas, dicho sea de paso tambien los emite RENIEC

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *