lunes, octubre 25, 2010

Firma Digital

Llevo una semana pegandome para poder firmar con un certificado digital documentos PDF. Como ha sido toda una odisea el conseguir hacerlo, os explico un poco por encima las opciones que hay, y como he conseguido hacer funcionar una al final.
En primer lugar, si tenéis acceso al programa, lo más fácil es un adobe profesional (cuanto más actualizado este, mejor), lo firmáis desde ahí con vuestro certificado y listo. Si eso no fuera posible, siempre podéis pedirle a alguien que os cree el archivo pdf a partir del documento que uséis vosotros (generalmente .doc o .odt) con permisos de firma y podréis firmarlo utilizando el adobe acrobat reader, que es totalmente gratuito.
Evidentemente, para un documento suelto eso no es mala opción. Pero ¿qué hacer si tenemos que firmar muchos documentos y no queremos pagar la licencia de adobe? Ya que, asumamoslo, muchos de nosotros creamos los pdf en otros entornos (por ejemplo LaTeX), de manera que pagar una licencia sólo para poder firmar los documentos es tontería.
Para ello hay dos aplicaciones posibles: sinadura y portable signer. Ambas estan basadas en java y son multiplataforma, para lo que requieren que tengais instalado java 1.6.x.
No fui capaz de hacer funcionar portable signer, ya que en teoria con ejecutar el instalable y luego ejecutar debería tirar. Pero me pedía el JCE, que ya tenía yo instalado, así que no sé realmente porque no iba.
El caso de sinadura fue algo más retorcido. Para empezar, sobre 64 bits va mal. Da igual que sea windows o unix: da problemas. Pero si queréis que tire, intentadlo en unix (hay una guía sobre como instalarlo en linux en kriptopolis). Para el caso de windows, lo que os tocará hacer es una virtualización de un sistema operativo de 32 bits (mi consejo es windows xp). Una vez estéis en 32 bits no tendréis problemas: instalar y ejecutar.
A la hora de firmar, tenéis que seleccionar vuestro certificado. Para ello lo tenéis que haber exportado ( si es un certificado de la FNMT, en su web estan las instrucciones para hacerlo) y tenéis que seleccionar el archivo PKCS#12 (.p12 en windows) de vuestro certificado. Os pedirá además el nombre del usuario firmante. Os recomiendo, además, que eliminéis la opción de conectarse a un servidor para validar, ya que a mi esa opción me ha dado problemas (pero vamos, es cuestión de probar).
Tened en cuenta que aunque el sistema no reconozca al firmante, porque no lo tenemos como identidad de confianza, si a la hora de examinar el certificado se ve que es de la FNMT (o una tercero de confianza similar) no deberíais tener problema alguno.
¿Y todo esto para qué? Os preguntaréis. En la mayoría de los casos, para entregar documentación oficial acreditando que la habéis firmado vosotros (y que no ha sido modificada después de que lo firmaseis) permitiendo el envío de facturas en formato electrónico totalmente válidas o la firma de contratos en formato electrónico (eso todavía no lo he visto hacer, pero técnicamente sería legal). En mi caso, me lo piden para una práctica... Ojo, no es que no diga que no sea útil... pero hasta que no haya una gran variedad de aplicaciones que permitan firmar digitalmente sin problemas y que sean fácilmente instalables por cualquier usuario, no veo como va a ser realmente útil.

2 comentarios:

Profesor James Moriarty dijo...

Y lo peor de todo es que no te dan la solución desde los propios organismos emisores de certificados para poder firmar las cosas sin pegarte, porque salvo que seas un usuario medio/avanzado no vas a tener ni puta idea de como lo haces para conseguir firmar cosas.

Deira dijo...

Yo desde luego no he sido capaz ni de obtener el certificado - bueno, de ayudar a una amiga a conseguirlo. Estuvimos como 4 horas rompiéndonos los cuernos y no fuimos capaces... Reconforta leer que luego lo que viene siendo firmar es la hostia de difícil también... :(

Suscribete al Blog