Cómo instalar certificados en Kmail

De MEPIS Documentation Wiki

Guía para importar claves y certificados generados externamiente en GpgSM (escrito por Matthias Welwarsky aquí:http://www.gnupg.org/aegypten/development.en.html#howto_import_external_certs -- ligeramente modificado por Lance Haverkamp)

Supongamos que se tiene un certificado S/MIME, probablemente un certificado personal de freemail de CAcert o de cualquier otra Autoridad Certificadora. CAcert orece certificados X509 para S/MIME mediante una interfaz web, no hace falta tener gpgsm para generar la Petición del Certificado y la consecuente clave privada, el navegador lo hace. Por lo que el problema es, tras la expedición del certificado, que se tiene el certificado en el navegador mientras que se necesita en GPGSM.

Puede que alguien se pregunte "¿Dónde está el problema?". "Siempre puedo exportar mis certificados como paquete de certificados PKCS#12 e importarlo en GPGSM."

Cierto, pero no es tan sencillo. Si bien es cierto que GPGSM puede importar claves secretas cifradas con PKCS#12, está limitado:

1. GPGSM no puede importar un paquete PKCS#12 completo, SÓLO la clave secreta 2. La clave no puede estar cifrada.

Se necesita importar la clave secreta, el certficado y el certificado del emisor. Por desgracia, parece que no hay una solución sólo para GPGSM, pero se puede solucionar con un poco de ayuda por parte de OpenSSL :-)

A continuación se muestra una guía paso a paso de cómo importar usar un certificado de Thawte (o de CAcert) en GPGSM:

Se necesita tener ciertos paquetes extra instalados. Se puede hacer con synaptic, kpackage o simplemente:

# apt-get install gnupg2 gnupg-agent dirmngr kleopatra gpgsm pinentry-qt

Asgurarse de descomentar la línea use-agent en el archivo gpg.conf en el directorio ~/.gnupg. Esto significa quitar el # y el espacio delante de use-agent.

¡Cerrar ahora la sesión y volver a iniciarla!


1. Exportar el Certificado desde el navegador.

Probablemente se utiliza Mozilla Firefox o Swiftfox, dado que de momento Konqueror no permite generar peticiones de certificados. El navegador pedirá que se especifique una Contraseña de exportación, hay que asegurarse de recordarla para el resto del procedimiento y alcernar el certificado en un archivo con nombre "certbundle.p12".

2. Usar OpenSSL para obtner la clave del paquete.

Parace que GPGSM de momento no puede gestionar el paquete completo de una sola vez. Hay que extraer los distintos elementos. Esto se puede hacer con llamadas a OpenSSL:

Primero hay que convertir el paquete del formato PKCS#12 al formato PEM:

$ openssl pkcs12 -in certbundle.p12 -out certbundle.pem -nodes

OpenSSL solicitará la Contraseña de Exportación, esta es la contraseña que se usó en el Navegador para exportar la contraseña.

Después, extraer la clave del paquete y volver exportarla en formato PKCS#12

$ openssl pkcs12 -in certbundle.pem -export -out certkey.p12 -nocerts -nodes

De nuevo, OpenSSL solicitará la Contraseña de Exportación, basta con usar la misma que se usó en el paso anterior. Ahora se tiene la clave secreta lista para ser importada en GPGSM:

$ gpgsm --call-protect-tool --p12-import --store certkey.p12

3. Importar el Certificado del emisor y el certificado del usuario

Ahora que se ha importado la clave secreta exitosamente, hay que importar el certificado del emisor también. Para obtener este certificado, puede que se tenga que ir a la página web del emisos y descargarlo, pero algunos sitios (CAcert, por ejemplo) almacenan sus certificados en el paquete cuando se solicita el certificado. Se puede entonces extraerlo del archivo certbundle.pem generado en el primer paso, basta con abrir el archivo con un editor de texto. Por ejemplo se puede editar el archivo con vi, seleccionar el certificado del emisor con el ratón y copiarlo en la línea de comandos, dónde antes se ha tecleado:

$ gpgsm --import

Esto importará el certificado del emisor. Una vez completado con éxito este paso, hacer lo mismo con el certificado del usuario.

Si GPGSM no mostró mensajes de error el certificado freemail está correctamente importado y se puede usar el agente de correo con Aegypten para enviar y recibir mensajes S/MIME con certificados propios.

Se puede comprobar con "gpgsm --list-secret-keys". Si se muestra el certificado de freemail, está listo para su utilización.

Otros idiomas