Acceso a los certificados del DNI electrónico

Hoy voy a poner a vuestra disposición una sencilla aplicación J2SE que permite acceder a los certificados del DNI electrónico.

Esta basada en el trabajo de David Calavera en su blog "Think in code"

El paquete se puede descargar desde aquí. Se trata de un JAR, ejecutable que contiene el código fuente.

El ejemplo esta basado en J2SE 6. Aunque es fácilmente portable a J2SE 5 importando las librerías como se hace en el ejemplo Unix, por claridad lo he preferido dejar en 1.6.

Para ejecutar el ejemplo, ejecutaremos:
java -jar pruebasDNIe.jar
Explico brevemente cómo funciona:

1.- Se recoge el almacén de certificados del sistema. Esta es la parte que difiere entre los diferentes sistemas operativos:
keyStore = KeyStore.getInstance("KeychainStore", "Apple");
keyStore.load(null, null);
2.- Obtenemos un enumeration con los diferentes certificados. (El DNI contiene 2, uno para firma y otro para autenticación).
Enumeration enumeration = keyStore.aliases();
3.- En cada elemento, tenemos un alias que nos permite acceder a la ruta completa de certificación.
String alias = enumeration.nextElement().toString();
Certificate[] certs = keyStore.getCertificateChain( alias );
Espero que os sirva para vuestros proyectos. Quedo pendiente de publicar un applet para firmar documentos usando este método.

0 comentarios:

Publicar un comentario en la entrada