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.jarExplico 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");2.- Obtenemos un enumeration con los diferentes certificados. (El DNI contiene 2, uno para firma y otro para autenticación).
keyStore.load(null, null);
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();Espero que os sirva para vuestros proyectos. Quedo pendiente de publicar un applet para firmar documentos usando este método.
Certificate[] certs = keyStore.getCertificateChain( alias );

0 comentarios:
Publicar un comentario en la entrada