Integración de KMail y GnuPG en Debian Sarge

Ahora que cuento con una conexión semiestable a Internet, he empezado a usar KMail para leer mi correo. Esperaba que KMail se integrara sin más con KGPG, pero he tropezado con un pequeño problema al recibir algunos mensajes cifrados, que he resuelto rápidamente hablando con Isaac por IRC.

Después he encontrado que hace unos días Daniel Doro Ferrant también había puesto la solución en su blog, que paso a traducir.

Para aquellos de vosotros que también useis Debian Sarge, aquí tenéis algo que os ayudará a integrar Kmail y GnuPG. Sarge hace un buen trabajo para que todo vaya integrado de serie, incluyendo KMail y GnuPG. Sin embargo, hay un aspecto menor que puede hacer que esta integración sea todavía mejor: el cambio de mensajes Inline OpenPGP (internos, dentro del cuerpo del mensaje) a auténticos mensajes OpenPGP/MIME.

Los mensajes Inline OpenPGP son el viejo (y ahora obsoleto) estilo de gestionar los correos electrónicos cifrados, cuando no había un tipo MIME definido para ello, mientras que el OpenPGP/MIME es el tipo MIME que gestiona adecuadamente los mensajes cifrados.

Como he dicho antes, KMail y GnuPG funcionan a la perfección con mensajes OpenPGP internos en una instalación fresca de Sarge. Sin embargo, si intenta usar el formato moderno OpenPGP/MIME, tropieza con el problema de que KMail no descifra automáticamente los mensajes. Para más información sobre este problema, eche un vistazo a Cooking with Linux: François, Can You Keep A Secret?.

Solucionar esto no es nada complicado. (Si es usuario de Gentoo, eche un vistazo al HOWTO KMail gpg-agent kde). Busque su directorio KDE, que debería ser algo así como ${HOME}/.kde/ o ${HOME}/.kde3/ o ${HOME}/.kde3.3/. En su interior cree dos nuevos directorios: env y shutdown, de modo que al final tenga los siguientes nuevos directorios: ${HOME}/.kde/env/ y ${HOME}/.kde/shutdown/. Dentro de cada uno de ellos creará un fichero ejecutable llamado gpg-agent.sh (desgraciadamente la extensión .sh es importante). El contenido de estos ficheros debe ser:

${HOME}/.kde/env/gpg-agent.sh:
#===BeGiN===
eval `gpg-agent --daemon`
#===eNd===
${HOME}/.kde/shutdown/gpg-agent.sh:
#===BeGiN===
#!/bin/sh
# el segundo campo de la variable GPG_AGENT_INFO es el ID del proceso gpg-agent activo
# en la sesión actual, así que simplemente  matamos ése en vez de todos ellos :)
kill `echo $GPG_AGENT_INFO | cut -d: -f2`
#===eNd===

Observe que esta orden kill no es la misma que la que aparece en el HOWTO anterior (probablemente haya una errata en el HOWTO).

Ahora simplemente necesita salir de la sesión KDE y volver a entrar. La próxima vez que intente utilizar KMail con OpenGPG/MIME, todo debería funcionar a la perfección.