29 nov 2010

Herramientas de Firma Digital (PKI) para Linux !!!

En la provincia de San Luis, Argentina, se ha desarrollado una infraestructura de clave publica (PKI) que empieza a cubrir distintos aspectos en la administración publica provincial. La misma adopta la ley Nacional N° 25.506 de Firma digital.

Como es habitual voy a usar mi desktop linux para interactuar con todo ello. A la hora de utilizar firma digital debemos instalar toda la cadena de certificados desde la autoridad de aplicación hasta la política que vamos a utilizar, en este paso nos podemos topar con algunos inconvenientes, como que los certificados son X.509 v3 codificados en DER (.cer) y aplicaciones como firefox, como una gran variedad de otras, utilizan codificación Base64  (.pem).
Para solucionar esto  podemos utilizar openssl, como lo indica es sus FAQs The Most Common OpenSSL Commands:


Convert a DER file (.crt .cer .der) to PEM

openssl x509 -inform der -in certificate.cer -out certificate.pem


Luego importamos este nuevo certificado en firefox desde Menu Edicion -> Preferencias -> Tab Avanzado -> Cifrado ->Ver Certificados -> Tab Autoriadades -> Importar.


Una forma fácil de hacer el paso anterior, es bajarse el plugin (complemento) de firefox KeyManager, nos permite entre otras cosas: generar certificados autofirmados, administrar dispositivos, firmar, administrar lista CRL, acceso directo desde el navegador a la lista de certificados.


Otra situación que se puede llegar a presentar es que queramos firmar nuestro correo con cuentas de mails que no sean de la organización, como por ejemplo gmail. Para ello firefox posee un plugin (complemeto) llamado Gmail S/MIME que nos permitirá firmar y encriptar datos con nuestra clave privada. Al hacer esto, la persona que reciba el correo sera advertida de que la firma es valida pero que no concuerda con la cuenta de correo que asociada a el certificado, algo que es obvio si el certificado tiene como uso firma de correos.