Firma digital en LibreOffice y OpenOffice en la UCR.
En la Universidad de Costa Rica se trabaja fuertemente en el desarrollo de un componente para LibreOffice con el fin de tener una alternativa completamente libre y gratuita para firmar documentos de tipo OpenDocumente en el formato avanzado XADES X-L.
Este es un componente agregado para la suite ofimática LibreOffice. Para esto se ha investigado como crear un componente Add-on en lenguaje de programación Java para LibreOffice con el IDE NetBeans-7.2 y la implementación de firma digital avanzada XADES X-L en OpenDocument.
El componente permitiría realizar multi-firmas y de validar las firma aunque no se cuente con una conexión a Internet (Esto gracias al formato de la firma). Se agregar un nuevo menú y una barra de herramientas a LibreOffice por el cual se tendría acceso al componente.
Algunas de las imágenes preliminares y una breve explicación de como funcionaria la versión 0.1 del componente:
Así se ve la ventana principal del componente, en la cual se podrán observar las firmas que ya se han realizado al documento. Como se puede observar se utiliza el mismo esquema de interfaces del componente de firma básica nativo de LibreOffice, pero con muchos mas agregados y un poco mas de sabor en la interfaces.
De igual forma que el componente nativo, al dar clic en el botón firmar buscara los certificados que están en el registro de Mozilla y cargara únicamente los que pertenezcan o estén instalados en un Token (Dispositivo USB). Este pedirá la clave secreta y desplegara una ventana para que elija el certificado que desea utilizar para firmar el documento como se muestra en la siguiente imagen.
En esta ventana se selecciona el certificado para firma y se presiona el botón aceptar para que el componente proceda a realizar la firma. Se debe esperar el tiempo debido, ya que se deben descargar una serie de datos desde los servidores de OCSP, CRL, y TimeStamp, dichos datos se agregaran a la firma digital, para posteriormente validarla firma y los certificados.
El componente no firma documento actual para no perderlo y hace una copia que incluye la firma realizada y validada. Si deseamos ver los datos de la firma así como las validaciones OCSP, CRL y TimeStamp, abrimos el nuevo documento que se creo en el mismo directorio del original y que se debe llamar algo así como "Signe_nombreOriginal". Ejecutamos el componente y se observa la ventana anterior con la firma realizada, para ver en detalle la información de la firma, se selecciona la firma que se desea ver y clic en el botón ver firma (agregado nuevo), se debe mostrar una ventana como lo muestra la siguiente imagen.
Como se puede observar la ventana anterior muestra la información mas relevante para validar la firma.
Por el momento aun queda por desarrollar y mejorar, el componente aun presenta bug's que se están mejorando. Para llegar a desarrollar este componente se utilizaron librerías de código abierto, y se reutiliza código de Bélgica, país que posee una plataforma muy robusta para firma digital de forma gratuita, basados en este código se comienza a desarrollar el componente para LibreOffice 100% Software Libre.
Se espera poder liberar el componente para finales del presente año, y que la comunidad de Software Libre se una para poder mejorarla.
Sobre este contenido.