Mutt-i, GnuPG y PGP Como
 Andr�s Seco [email protected] y J.Horacio M.G.
 [email protected]
 v1.2, 7 de Febrero de 2000

 Este documento explica la forma de configurar Mutt-i, PGP y GnuPG en
 sus diferentes versiones (2.6.x, 5.x y GnuPG) de forma r�pida indi�
 cando los posibles problemas que pueden surgir al enviar correo fir�
 mado o cifrado para ser le�do por clientes de correo que no se ajustan
 a las especificaciones PGP/MIME definidas en la RFC2015 y por otros
 sistemas operativos. Incluye adem�s un ejemplo de configuraci�n de
 procmail para enviar las claves p�blicas de forma autom�tica a peti�
 ciones recibidas por correo electr�nico, como si de un servidor de
 claves se tratara.
 ______________________________________________________________________

 �ndice General:

 1.      Introducci�n

 2.      Copyright y descarga de responsabilidad

 3.      Nota sobre el intercambio de correo desde/hacia internet

 4.      Configuraci�n de mutt

 5.      PGP y GnuPG

 5.1.    PGP2

 5.2.    PGP5

 5.3.    GnuPG

 6.      Integraci�n de PGP y Mutt

 6.1.    Ficheros de configuraci�n opcionales

 6.2.    Variables de Configuraci�n General

 6.3.    Variables de Configuraci�n para PGP2

 6.4.    Variables de Configuraci�n para PGP5

 6.5.    Variables de Configuraci�n para GnuPG

 6.6.    Variables de Configuraci�n Mixta

 7.      Macros interesantes para mutt

 7.1.    Firma sobre el propio texto del mensaje sin usar PGP/MIME con
 PGP5

 7.2.    Firma sobre el propio texto del mensaje sin usar PGP/MIME con
 GnuPG

 7.3.    Edici�n del fichero de alias y recarga del mismo

 7.4.    M�s ejemplos de macros

 8.      Algunas �recetas� para Procmail

 8.1.    Configuraci�n de Procmail para devolver las claves p�blicas
 autom�ticamente

 8.2.    Verificaci�n y descifrado autom�ticos de mensajes firmados sin
 PGP/MIME

 8.3.    Cambio del tipo MIME para mensajes con claves p�blicas sin
 PGP/MIME

 9.      Intercambio de mensajes firmados/cifrados entre diferentes
 clientes de correo y plataformas

 10.     Programas y versiones utilizados

 11.     M�s informaci�n

 12.     Anexo: El INSFLUG
 ______________________________________________________________________

 1.  Introducci�n

 Este documento explica la forma de configurar Mutt-i y PGP en sus
 versiones 2.6.x, 5.x y GnuPG para poder tener en marcha de forma
 r�pida un lector de correo con seguridad de firmas y cifrado digital.

 Para esto se incluir�n ficheros de configuraci�n de ejemplo que
 servir�n para la puesta en marcha. Para obtener el m�ximo rendimiento
 y usar todas las caracter�sticas de los programas que se utilizar�n
 ser� necesario leer la documentaci�n adjunta a cada programa y
 reconfigurar dichos ficheros de configuraci�n que se incluyen como
 ejemplos.

 Adem�s, se comentar�n algunos problemas derivados de la falta de
 seguimiento de la recomendaci�n RFC2015 sobre PGP/MIME por parte de
 muchos programas de correo electr�nico, tanto en Linux como en otros
 sistemas operativos.

 Ser� presentado tambi�n un ejemplo de configuraci�n de procmail de
 forma que puedan ser enviadas las claves p�blicas de manera autom�tica
 a la recepci�n de mensajes que las soliciten.

 Nos gustar�a dar las gracias a Roland Rosenfeld [email protected],
 Christophe Pernod [email protected], Denis Alan Hainsworth
 [email protected] y Angel Carrasco [email protected] por sus
 correcciones y sugerencias.

 2.  Copyright y descarga de responsabilidad

 Este documento es copyright � 1999 Andr�s Seco y J. Horacio M.G., y es
 un documento libre. Puedes distribuirlo bajo los t�rminos de la GNU
 General Public License, que puedes encontrar en
 http://www.gnu.org/copyleft/gpl.html. Una copia de �sta traducida al
 castellano la puedes encontrar en
 http://visar.csustan.edu/~carlos/gpl-es.html

 La informaci�n y otros contenidos en este documento son lo mejor de
 nuestros conocimientos. Sin embargo, hemos podido cometer errores. As�
 que deber�as determinar si deseas seguir las instrucciones que se
 encuentran en este documento.

 Nadie es responsable de cualquier da�o en sus ordenadores y cualquier
 otra p�rdida por el uso de la informaci�n contenida aqu�.

 LOS AUTORES Y MANTENEDORES NO SON RESPONSABLES DE CUALQUIER DA�O
 INCURRIDO A CAUSA DE ACCIONES TOMADAS EN BASE A LA INFORMACION
 CONTENIDA EN ESTE DOCUMENTO.
 Por supuesto, estamos abiertos a todo tipo de sugerencias y
 correcciones sobre el contenido de este documento.

 3.  Nota sobre el intercambio de correo desde/hacia internet

 Este documento no trata sobre el intercambio de mensajes de correo
 electr�nico entre el equipo local y otros equipos (en red local o en
 internet). Dicho intercambio debe ser realizado mediante programas que
 act�en como Agentes de Transferencia de Mensajes (MTAs) como Sendmail,
 http://www.sendmail.org, qmail, http://www.es.qmail.org, Exim,
 http://www.exim.org, Smail, ftp://ftp.planix.com/pub/Smail, etc.

 En este documento se presupone que este m�todo de env�o/recepci�n de
 mensajes fuera del equipo local ya est� instalado y funcionando de
 forma correcta. Si puede enviar un mensaje y leer su correo con el
 comando mail desde el indicador de linea de comando de su equipo,

      $ mail -s <asunto> <[email protected]>
      escribir aqu� el texto, y finalizar con un punto en la l�nea siguiente

 es que debes tener instalado alg�n tipo de MTA que se encargue de la
 transferencia de mensajes. En caso contrario, puedes encontrar
 documentaci�n al respecto en las p�ginas de manual de smail:

      $ man smail

 o del MTA que tengas instalado, y las de fetchmail:

      $ man fetchmail

 o en otro documento similar a estos que haga referencia a dichos
 programas.

 4.  Configuraci�n de mutt

 El siguiente fichero de ejemplo es v�lido para comenzar a usar Mutt de
 forma b�sica incluyendo caminos para los ficheros de alias, mensajes
 enviados y mensajes postpuestos. Se puede realizar una mayor
 personalizaci�n atendiendo a las indicaciones del manual de Mutt en
 /usr/doc/mutt/ o /usr/doc/mutt-i/

 Ejemplo simple de ~/.muttrc:

 set folder=~/Mail
 set alias_file=.alias
 set postponed=.postponed
 set record=MensajesEnviados
 set signature=.signature
 my_hdr From: Nombre Apellido <[email protected]>
 source =.alias

 Es necesario que exista el directorio ~/Mail, que es el que aparece
 como un signo de �igual que� en el fichero de configuraci�n
 ~/Mail/.alias, y =.postponed quiere decir para Mutt
 ~/Mail/.postponed). No obstante es posible tener estos ficheros en
 otro directorio siempre y cuando indiquemos el camino completo en
 ~/.muttrc, y tengamos los permisos necesarios para trabajar en dicho
 directorio.

 Tambi�n hay que personalizar la linea my_hdr con el nombre y la
 direcci�n de correo electr�nico adecuados. En el fichero
 ~/Mail/.signature se puede incluir la firma que aparecer� en todos los
 mensajes que se env�en.

 Este fichero de configuracion puede llegar a hacerse muy grande, por
 lo que es com�n separar algunos de sus comandos en ficheros
 diferentes. Por lo pronto, son facilmente separables las lineas de
 configuraci�n de PGP o GnuPG y las macros de teclado que
 personalicemos. Para ello seria necesario a�adir las lineas siguientes
 al fichero ~/.muttrc:

      source = ~/Mail/.mutt.macros
      source = ~/Mail/.gnupgp.mutt

 y utilizar los ficheros ~/Mail/.mutt.macros y ~/Mail/.gnupgp.mutt para
 introducir en ellos las macros de teclado y la configuraci�n de PGP o
 GnuPG que m�s adelante se comentan.

 Para una informaci�n m�s extensiva y completa sobre el uso y
 configuraci�n de Mutt, as� como de caracter�sticas avanzadas, ver el
 Manual de Mutt en http://www.lucas.org/manual_mutt.html.

 5.  PGP y GnuPG

 Para usar cualquiera de las versiones de PGP con Mutt-i, primero ser�
 necesario configurar adecuadamente PGP de modo que existan el fichero
 con las claves p�blicas (anillo de claves p�blicas) y el fichero con
 las claves privadas (anillo de claves privadas). Conviene probar
 previamente PGP desde la l�nea de comandos para asegurarse de que
 firma y cifra correctamente.

 Recordemos que para Unix las versiones de PGP existentes son 2.6.3(i)
 y 5.0(i), que de ahora en adelante llamaremos PGP2 y PGP5
 respectivamente. GnuPG es un sistema de codificaci�n nuevo, todav�a en
 desarrollo aunque muy avanzado, de c�digo abierto y libre, en muchos
 aspectos superior a PGP (ver GnuPG mini como en
 http://www.insflug.org/documentos/GPG-Mini-Como/).

 Aclararemos tambi�n que PGP, al ser un sistema desarrollado en los
 EE.UU., est� sujeto a ciertas leyes sobre la exportaci�n de programas
 que incluyen c�digo criptogr�fico;  por esta raz�n existe una versi�n
 internacional para casi todas las versiones num�ricas, y �sta vienen
 denotadas por la letra �i� (pgp - pgpi).

 5.1.  PGP2

 PGP2 genera claves con el algoritmo RSA (http://www.rsa.com), y como
 algoritmo de cifrado usa IDEA (http://www.ascom.ch).

 Ambos son algoritmos propietarios y su uso est� restringido por sus
 respectivas patentes.

 Para su correcto funcionamiento, una vez instalado el programa,
 deberemos tener un directorio ~/.pgp, en el que se encuentren el
 fichero de configuraci�n pgp-i.conf y los ficheros con los anillos de
 claves p�blicas y privadas, pubring.pgp y secring.pgp respectivamente.

 5.2.  PGP5

 Las claves generadas por PGP5 son del tipo DSS/DH (Digital Signature
 Standard / Diffie-Helman). PGP5 usa como algoritmos de cifrado CAST,
 Triple-DES, e IDEA.  PGP5 puede trabajar con datos cifrados y/o
 firmados con RSA (PGP2), e incluso usar estas claves para cifrar y/o
 firmar digitalmente (con claves generadas por PGP2, ya que PGP5 no
 puede generar dichas claves).  Por contra, PGP2 no reconoce las claves
 DSS/DH de PGP5;  esto crea un problema de incompatibilidad, pues en
 Unix/Linux todav�a muchos usuarios tienen instalado s�lo la versi�n de
 PGP2.

 Para el correcto funcionamiento de PGP5, en el directorio ~/.pgp, se
 encontrar�n los anillos de claves p�blicas y privadas (pubring.pkr y
 secring.skr respectivamente), as� como el fichero de configuraci�n
 pgp.cfg.

 En caso de tener instaladas las dos versiones de PGP (por tanto,
 habremos instalado y configurado PGP2 antes que PGP5), el fichero de
 configuraci�n ~/.pgp/pgp.cfg de PGP5 lo crearemos como un enlace
 simb�lico al fichero de configuraci�n ~/.pgp/pgp-i.conf,

      ~/.pgp$ ln -s pgp-i.conf pgp.cfg

 a�adiendo las siguientes l�neas al final del fichero ~/.pgp/pgp-
 i.conf:

      PubRing = "~/.pgp/pubring.pkr"
      SecRing = "~/.pgp/secring.skr"
      RandSeed = "~/.pgp/randseed.bin"

 Los ficheros con los anillos de claves de las diferentes versiones
 pueden coexistir sin ning�n problema en el mismo directorio.
 5.3.  GnuPG

 GnuPG es un programa con las mismas funciones que el anterior. A
 diferencia de PGP, GnuPG evita el uso de algoritmos con patentes
 restrictivas. PGP puede ser usado libremente con fines personales,
 pero no comerciales, y su desarrollo es cerrado.  GnuPG es de libre
 uso, y de desarrollo abierto, al igual que nuestro sistema operativo
 favorito (adem�s de que su implementaci�n y desarrollo es
 principalmente en Linux).

 Las claves generadas por GnuPG son del tipo DSA/ElGamal (Digital
 Signature Algorithm, tambi�n conocido como DSS). Es totalmente
 compatible con PGP, excepto en el uso de los algoritmos con patentes
 restrictivas RSA e IDEA.  No obstante, es posible implementar cierta
 compatibilidad al respecto (ver GnuPG mini como en
 http://www.insflug.org/documentos/GPG-Mini-Como/ para su configuraci�n
 e interacci�n con PGP2 y PGP5).

 6.  Integraci�n de PGP y Mutt

 La operaci�n a realizar en los mensajes salientes (firmar, cifrar o
 ambas) se elige justo antes de pulsar �y� para enviar el mensaje, en
 el men� de opciones que aparece con la opci�n �p�. Una vez elegida la
 operaci�n a realizar simplemente cambiar� la linea de PGP en la
 cabecera que se muestra en pantalla, pero hasta que no enviemos el
 mensaje con �y� no se nos pedir� introducir la frase de paso para
 activar la firma del mensaje o las claves publicas a utilizar para el
 cifrado en caso de que no coincida alg�n destinatario con los que
 tienen clave p�blica en nuestro anillo de claves.

 NOTA: En caso de que cometamos un error al introducir la frase de paso
 cuando nos es solicitada, parecer� que Mutt se queda �colgado�, pero
 no ser� as�, si no que estar� esperando que la volvamos a introducir.
 Para ello pulsaremos la tecla <Intro> y borraremos la contrase�a de la
 memoria con el juego de teclas <Ctrl>F.  A continuaci�n repetiremos la
 operaci�n de enviar el mensaje (�y�) y tendremos que volver a
 introducir la contrase�a.

 Mutt, en este caso, usar� PGP/MIME para enviar el mensaje, de modo que
 aparecer� un nuevo adjunto al mensaje con la firma (si s�lo hemos
 elegido firmar) o cifrar� el mensaje completo (todas sus partes MIME,
 adjuntos incluidos) y dejar� tan solo 2 partes MIME, la primera con la
 versi�n de PGP/MIME y la segunda con el mensaje total (adjuntos
 incluidos) cifrado (y firmado si as� lo solicitamos).

 Nota: Por varios motivos, como que el lector de correo del
 destinatario del mensaje no sea capaz de reconocer el formato MIME,
 podemos necesitar que la firma no vaya acompa�ando al mensaje como un
 adjunto, sino que aparezca en el mismo cuerpo del mensaje. Para este
 modo, ver la secci�n que trata sobre application/pgp con ``PGP5'' y
 con ``GnuPG''.

 En los mensajes entrantes que vengan firmados o cifrados con PGP/MIME,
 Mutt intentar� verificar la firma y/o descifrarlo autom�ticamente. Ver
 la secci�n sobre ``recetas para procmail'', en donde se comenta c�mo
 cambiar de forma autom�tica el tipo MIME para los mensajes recibidos
 cifrados o firmados, que no indican su tipo MIME correctamente.

 6.1.  Ficheros de configuraci�n opcionales

 En las siguientes secciones se habla sobre las modificaciones al
 fichero de configuraci�n de Mutt para poder usar ``PGP2'', ``PGP5'', y
 ``GnuPG'' con comodidad.

 Para ello se usa un fichero de configuraci�n llamaremos .gnupgp.mutt
 (el nombre es inventado y le podr�amos llamar de cualquier otro modo,
 siempre y cuando indiquemos el origen de este fichero de configuraci�n
 en el fichero de configuraci�n principal ~/.muttrc.

 Esto se hace incluyendo el origen (d�nde est� situado) completo del
 fichero de configuraci�n .gnupgp.mutt, en una l�nea al final del
 fichero ~/.muttrc.  El directorio en el que situemos �ste u otros
 ficheros opcionales de configuraci�n puede ser cualquiera, siempre y
 cuando tengamos los permisos correctos de acceso a �l (en un cap�tulo
 anterior lo incluimos dentro del directorio ~/Mail/), o podemos crear
 un directorio dentro de nuestro directorio de usuario, con un nombre
 aleatorio:

      ~$ mkdir mutt.varios

 en el que copiaremos (o crearemos) el fichero de configuraci�n
 opcional

      source ~/mutt.varios/.gnupgp.mutt

 De este modo Mutt aceptar� las variables de configuraci�n en

 Este sistema es �til para evitar tener un fichero de configuraci�n
 desordenado y demasiado grande, y puede ser usado para poner cualquier
 otro grupo de variables de configuraci�n en otro fichero aparte.  Por
 ejemplo, de modo parecido aunque no igual, si usamos vim como el
 editor por defecto en Mutt, le podemos indicar a .muttrc que use un
 fichero de configuraci�n .vimrc distinto al que usamos cuando usemos
 vim sobre la l�nea de comandos.  Para ello, copiaremos primero
 ~/.vimrc a nuestro directorio ficticio para ficheros de configuraci�n
 opcionales ~/mutt.varios/ y le daremos un nombre distinto (vg.
 vim.mutt):

      $ cd /home/usuario
      ~$ cp .vimrc mutt.varios/vim.mutt

 a continuaci�n cambiaremos las variables de configuraci�n que deseamos
 que sean distintas en vim como editor de Mutt, y finalmente
 modificaremos

      set editor="/usr/bin/vim -u ~/mutt.varios/vim.mutt"

 Con esta �ltima l�nea estamos indicando a Mutt que, en lugar de usar
 su editor interno por defecto, use un editor externo, Vim, con las
 opciones de configuraci�n que deseamos.

 6.2.  Variables de Configuraci�n General

 Hay un n�mero de variables que nos servir�n para el uso de cualquiera
 de los tres sistemas de cifrado p�blico con Mutt por igual.  �stas
 variables son del tipo booleano, y aceptan las opciones set (activada)
 o unset (desactivada).

 En el fichero de configuraci�n (bien sea ~/.muttrc, o
 ~/mutt.varios/.gnupgp.mutt, o el que decidamos), el signo de
 almohadilla (#) es un comentario libre y no se interpreta.  Por tanto,
 lo usaremos aqu� delante de la aclaraci�n a cada una de las variables:

    unset pgp_autosign
       # si esta variable est� activada, Mutt nos pedir� firmar todo el
       # correo saliente. ``(1)''

    unset pgp_autoencrypt
       # si esta variable est� activada, Mutt nos pedir� cifrar todo el
       # correo saliente. ``(1)''

    set pgp_encryptself
       # guardar una copia cifrada de todos los mensajes que se env�en
       cifrados
       # (precisa de la variable de configuraci�n general set
       copy=yes).

    set pgp_replysign
       # al responder a un mensaje firmado, requerir que el mensaje de
       respuesta
       # sea tambi�n firmado.

    set pgp_replyencrypt
       # al responder a un mensaje cifrado, requerir que nuestra
       respuesta
       # tambi�n vaya cifrada.

    set pgp_verify_sig=yes
       # �queremos que se verifique autom�ticamente las firmas de los
       mensajes
       # entrantes? �por supuesto que s�!

    set pgp_timeout=<n>
       # eliminar la contrase�a de la memoria intermedia cada <n>
       # segundos.``(2)''

    set pgp_sign_as=
    # �qu� clave quiero usar por defecto para firmar los mensajes
    salientes?
    # Nota: es posible especificar un id de usuario en lugar de un id
    de
    # clave, pero esto podr�a confundir si tenemos el mismo id de
    usuario
    # para distintas claves.

    set pgp_strict_enc
    # usar codificaci�n �quoted-printable� siempre que PGP la
    # requiera.

    unset pgp_long_ids
    # no usar identificadores de claves de 64 bits, usar de 32 bits.

    set pgp_sign_micalg=<algo>
    # algoritmo de comprobaci�n de la integridad de un mensaje, en
    donde
    # <algo> es uno de los siguientes:``(3)''

    �
    pgp-mda5
    para claves RSA

    �
    pgp-sha1
    para claves DSS (DSA)

    �
    pgp-rmd160

 En las tres subsecciones siguientes se especificar�n las variables a
 configurar para cada una de las versiones.  La cuarta subsecci�n
 explica los cambios en las variables en caso de que usemos m�s de una
 versi�n.

 (1) dado que el cont�nuo requerimiento por parte de Mutt para que
 firmemos o cifremos todos los mensajes salientes puede representar un
 inconveniente, es deseable dejar esta variable desactivada.  Esto es
 especialmente as� en el caso del cifrado, ya que no dispondremos de
 las claves p�blicas de todos los destinatarios.

 (2) depende del n�mero de mensajes que firmemos o descifremos
 generalmente, nos interesar� mantener la contrase�a en la memoria
 durante m�s o menos tiempo.  Esta opci�n nos evita que tengamos que
 introducir la contrase�a por cada mensaje que firmemos, o por cada
 mensaje cifrado que leamos.  Aviso: mantener la contrase�a en la
 memoria es inseguro, especialmente en sistemas conectados a una red.

 (3) esto s�lo es necesario para la clave con la que hayamos
 configurado para firmar.  Cuando la clave la escojamos desde el men�
 de composici�n, Mutt se encargar� de calcular el algoritmo.

 6.3.  Variables de Configuraci�n para PGP2

 Para utilizar PGP2 con Mutt-i es necesario a�adir las siguientes
 l�neas al fichero ~/mutt.varios/.gnupgp.mutt:

 set pgp_default_version=pgp2
 set pgp_key_version=default
 set pgp_receive_version=default
 set pgp_send_version=default
 set pgp_sign_micalg=pgp-md5
 set pgp_v2=/usr/bin/pgp
 set pgp_v2_pubring=~/.pgp/pubring.pgp
 set pgp_v2_secring=~/.pgp/secring.pgp

 Evidentemente, deber�n existir los ficheros ~/.pgp/pubring.pgp y
 secring.pgp. M�s informaci�n sobre PGP2 con el comando man pgp.

 6.4.  Variables de Configuraci�n para PGP5

 Para utilizar PGP5 con Mutt-i es necesario a�adir las siguientes
 l�neas al fichero ~/mutt.varios/.gnupgp.mutt:

      set pgp_default_version=pgp5
      set pgp_key_version=default
      set pgp_receive_version=default
      set pgp_send_version=default
      set pgp_sign_micalg=pgp-sha1
      set pgp_v5=/usr/bin/pgp
      set pgp_v5_pubring=~/.pgp/pubring.pkr
      set pgp_v5_secring=~/.pgp/secring.skr

 Evidentemente, deber�n existir los ficheros ~/.pgp/pubring.pkr y
 secring.pkr. M�s informaci�n sobre PGP 5 con el comando man pgp5.

 6.5.  Variables de Configuraci�n para GnuPG

 Para utilizar GnuPG con Mutt-i es necesario a�adir las siguientes
 l�neas al fichero ~/mutt.varios/.gnupgp.mutt:

      set pgp_default_version=gpg
      set pgp_key_version=default
      set pgp_receive_version=default
      set pgp_send_version=default
      set pgp_sign_micalg=pgp-sha1
      set pgp_gpg=/usr/bin/gpg
      set pgp_gpg_pubring=~/.gnupg/pubring.gpg
      set pgp_gpg_secring=~/.gnupg/secring.gpg

 Evidentemente, deber�n existir los ficheros ~/.gnupg/pubring.gpg y
 secring.gpg. M�s informaci�n sobre GnuPG com el comando man gpg.gnupg,
 man gpgm, y man gpg.

 6.6.  Variables de Configuraci�n Mixta

 En el caso que deseemos tener m�s de uno de los tres sistemas a la
 vez, es preciso modificar algunas de las variables que hemos comentado
 anteriormente.  En realidad tan s�lo se trata de eliminar la
 redundancia en la versi�n configurada por defecto.

 Si, por ejemplo, decidi�ramos usar GnuPG como el sistema a utilizar
 por defecto, todas las teclas relacionadas con PGP/GnuPG de Mutt
 llamar�an a �ste sistema para cualquier operaci�n de cifrar,
 descifrar, firmar, verificar, etc...
 $set_pgp_default una s�la vez, as�:

      set pgp_default_version=gpg

 con lo cual, y para el uso conjunto de los tres sistemas, la parte
 correspondiente al fichero ~/mutt.varios/.gnupgp.mutt podr�a quedar
 del siguiente modo:

      set pgp_default_version=gpg     # versi�n a usar por defecto

      set pgp_key_version=default     # clave que se usar� por defecto, en este
                                      # caso la definir� gnupg

      set pgp_receive_version=default # para descodificar usar� la versi�n que se
      set pgp_send_version=default    # haya configurado por defecto (gpg)

      set pgp_gpg=/usr/bin/gpg        # localizaci�n del binario de GnuPG
      set pgp_gpg_pubring=~/.gnupg/pubring.gpg        # fichero de claves pub. GnuPG
      set pgp_gpg_secring=~/.gnupg/secring.gpg        # fichero de claves secr. GnuPG

      set pgp_v2=/usr/bin/pgp         # localizaci�n del binario de PGP2
      set pgp_v2_pubring=~/.pgp/pubring.pgp           # fichero de claves pub. PGP2
      set pgp_v2_secring=~/.pgp/secring.pgp           # fichero de claves secr. PGP2

      set pgp_v5=/usr/bin/pgp         # localizaci�n del binario de PGP5
      set pgp_v5_pubring=~/.pgp/pubring.pkr           # fichero de claves pub. PGP5
      set pgp_v5_secring=~/.pgp/secring.skr           # fichero de claves secr. PGP5

 7.  Macros interesantes para mutt

 Mutt es altamente configurable y puede modificar su forma de trabajo
 de modo muy flexible si se hace un uso adecuado de las opciones de
 .muttrc.

 Aqu� se presentan algunas macros que ayudar�n a generar firmas
 evitando seguir el est�ndar PGP/MIME, para enviarlas a destinatarios
 que sabemos de cierto que no pueden verificar las firmas PGP/MIME, y
 para editar el fichero de alias y volver a cargarlo sin salir de Mutt
 (aunque esto �ltimo no est� relacionado con PGP/GnuPG, se presenta
 como ejemplo para mostrar el poder de las macros en Mutt).

 Es posible indicar a Mutt las combinaciones de teclado que queremos
 utilizar para las opciones de PGP/GnuPG que deseamos implementar en el
 correo electr�nico. Aun cuando algunas de estas opciones vienen
 configuradas por defecto, podemos f�cilmente cambiarlas o a�adir otras
 modificando la configuraci�n.

 7.1.  Firma sobre el propio texto del mensaje sin usar PGP/MIME con
 PGP5

 Antes de la existencia de PGP/MIME, la firma de un mensaje iba
 incluida en el cuerpo del mensaje. Este caso sigue siendo com�n con
 muchos lectores de correo.

 En caso de que queramos firmar de esta forma, tenemos dos opciones,
 dejar el tipo MIME del mensaje intacto o modificarlo como
 application/pgp.

 Para implementar estas dos formas de firmar en Mutt, a�adiremos las
 l�neas siguientes al fichero ~/mutt.varios/mutt.macros.  Previamente,
 habremos indicado el origen de este fichero de configuraci�n opcional
 al fichero de configuraci�n principal .muttrc; ver ``ficheros de
 configuraci�n opcionales'':

      macro   compose \Cp     "F/usr/bin/pgps\ny"
      macro   compose S       "F/usr/bin/pgps\ny^T^Uapplication/pgp; format=text; x-action=sign\n"

 y de esta forma, pulsando <Ctrl>p o S podremos incluir la firma
 digital en el adjunto del mensaje sobre el que est� situado el cursor
 en la pantalla, en la que se encontrar� el mensaje listo para ser
 enviado.

 7.2.  Firma sobre el propio texto del mensaje sin usar PGP/MIME con
 GnuPG

 Igual que en el caso anterior, pero con GnuPG. Las macros quedan de la
 siguiente manera:

      macro   compose \CP     "Fgpg --clearsign\ny"
      macro   compose \CS     "Fgpg --clearsign\ny^T^Uapplication/pgp; format=text; x-action=sign\n"

 7.3.  Edici�n del fichero de alias y recarga del mismo

 Con esta macro para incluir en ~/mutt.varios/macros.mutt puedes editar
 con vi (modificando la linea puedes usar otro editor) el fichero de
 alias sin salir de Mutt pulsando <Alt>a.

      macro   index   \ea     "!vi ~/Mail/.alias\n:source =.alias\n"

 7.4.  M�s ejemplos de macros

 El siguiente listado ha sido obtenido de Roland Rosenfeld y presenta
 macros para cambiar el �sistema de firmado/cifrado por defecto� y
 firmar sin PGP/MIME con GnuPG:

 # ~/Mail/.muttrc.macros
 # Fichero de configuraci�n del teclado en Mutt-i
 # copiado, modificado y traducido del original:
 #
 ################################################################
 # The ultimative Key-Bindings for Mutt                         #
 #                                                              #
 # (c) 1997-1999 Roland Rosenfeld <[email protected]>   #
 #                                                              #
 # $ Id: keybind,v 1.36 1999/02/20 19:36:28 roland Exp roland $ #
 ################################################################
 #
 # Para su correcto funcionamiento, a�adir al fichero de
 # configuraci�n ~/.muttrc la l�nea:
 # source ~/Mail/.muttrc.macros
 #

 # Generic keybindings
 # (�para todos los men�s de Mutt excepto el del paginador!)
 # Con las tres siguientes podemos cambiar el sistema de cripto que
 # estemos utilizando por defecto:

 # <ESC>1 para GnuPG
 macro   generic \e1     ":set pgp_default_version=gpg ?pgp_default_version\n"\
                         "Switch to GNU-PG"

 # <ESC>2 para PGP2
 macro   generic \e2     ":set pgp_default_version=pgp2 ?pgp_default_version\n"\
                         "Switch to PGP 2.*"

 # <ESC>5 para PGP5
 macro   generic \e5     ":set pgp_default_version=pgp5 ?pgp_default_version\n"\
                         "Switch to PGP 5.*"

 # index, OpMain, MENU_MAIN
 # (Men� principal)
 # La siguiente s�lo funciona desde el men� principal (el que nos
 # encontramos nada m�s abrir Mutt).  La combinaci�n de las teclas
 # <CTRL>K nos permite extraer las claves p�blicas de un mensaje si las
 # hubiere (esto se sabe porque el mensaje viene precedido por la letra
 # K):

 macro  pager   \Ck     ":set pipe_decode pgp_key_version=pgp2\n\e\ek:set pgp_key_version=pgp5\n\e\ek:set pgp_key_version=gpg\n\e\ek:set pgp_key_version=default nopipe_decode\n"\ "Extract PGP keys to PGP2, PGP 5, and GnuPG keyrings"

 # pager, OpPager, MENU_PAGER
 # (Men� del Paginador)
 # Permite las mismas operaciones que en el primer caso, y con las mismas
 # combinaciones de claves, pero en este caso desde el men� del
 # paginador:

 macro   pager   \e1     ":set pgp_default_version=gpg ?pgp_default_version\n"\
                         "switch to GNUPG"

 macro   pager   \e2     ":set pgp_default_version=pgp2 ?pgp_default_version\n"\
                         "switch to PGP 2.*"

 macro   pager   \e5     ":set pgp_default_version=pgp5 ?pgp_default_version\n"\
                         "switch to PGP 5.*"

 # compose, OpCompose+OpGerneric, MENU_COMPOSE
 # (Men� de composici�n)
 # Las siguientes operaciones se realizan desde el men� de composici�n.
 # Esto es, una vez hemos compuesto el mensaje y lo cerramos para
 # enviarlo, justo antes de presionar la tecla "Y" que nos permita
 # pas�rselo al MTA.

 # En este caso creamos un men� que se abre al presionar la tecla "P".
 # Las opciones de este men� las ligamos a MENU_PGP. Estas son las
 # opciones de uso principal (codificaci�n y firma).

 bind    compose p       pgp-menu

 # Como muchos programas no son capaces de implementar las
 # espicificaciones de MIME/PGP (especialmente los de M$), las teclas
 # <CTRL>P nos permitir�n firmar los mensajes "a la antigua"
 # (Application/PGP):

 macro   compose \CP     "Fgpg --clearsign\ny"

 # A continuaci�n, <CTRL>S nos permitir� firmar "a la MIME/PGP" con la
 # clave que tengamos definida por defecto.  Esta macro no es necesaria
 # ya que lo mismo podemos hacer desde el men� "P":
 macro   compose \CS     "Fgpg --clearsign\ny^T^Uapplication/pgp; format=text; x-action=sign\n"

 Es posible a�adir m�s macros, y algunas otras vienen ya configuradas
 por defecto en nuevas versiones de Mutt.  Algunas otras opciones
 incluyen:

 �  <CTRL>K (extraer claves p�blicas adjuntas a un mensaje)

 �  <ESC>K (adjuntar una clave p�blica a un mensaje)

 �  <CTRL>F (al usar la contrase�a para firmar o descodificar un
    mensaje, �sta queda grabada en memoria.  De este modo podemos
    borrar la contrase�a de la memoria)

 �  etc...

 Para ver qu� otras opciones tenemos activadas basta con ir al men� de
 ayuda (?)  desde el men� en que nos encontremos.

 8.  Algunas �recetas� para Procmail

 8.1.  autom�ticamente Configuraci�n de Procmail para devolver las
 claves p�blicas

 Aunque no es el objetivo de este Como, comentaremos que la forma m�s
 segura de obtener la clave p�blica de una persona es que ella misma
 nos la prov�a en mano.

 Como en muchas ocasiones este m�todo no es posible (distancia que
 separa a los interesados) las personas se pueden enviar por correo
 electr�nico las claves p�blicas o buscarlas en un servidor de claves,
 pero ninguno de los m�todos garantiza que la clave obtenida sea
 realmente de quien parece ser su poseedor, a menos que mediante una
 comunicaci�n de otro tipo que consideremos �seguro� (buscar en la guia
 de tel�fonos al propietario y pedirle que nos lea la �huella� de su
 clave p�blica para confirmar que es la misma de la clave que hemos
 obtenido por el metono no seguro).

 Lo que presentamos a continuaci�n es un ejemplo de �receta� para
 a�adir en .procmailrc del procesador de correo Procmail para devolver
 autom�ticamente su clave p�blica al remitente cuando reciba un mensaje
 con un determinado texto en la l�nea Asunto:

      :0 h
      * ^Subject:[    ]+\/(|enviar)[  ]+clave pub\>.*
      | mutt -s "Re: $MATCH" `formail -rtzxTo:` </clau/miclave.asc

 Lo que aqu� dice es lo siguiente:  tenemos una copia de nuestra clave
 p�blica en ASCII, en un directorio (en este caso el directorio /clau),
 en un fichero llamado miclave.asc;  as�, cuando procmail reciba un
 mensaje que lleve en la l�nea de Asunto: (Subject:) la frase �enviar
 clave pub�, enviar el fichero al remitente.

 IMPORTANTE: lo que va entre los corchetes es un espacio y un
 tabulador.

 8.2.  Verificaci�n y descifrado autom�ticos de mensajes firmados sin
 PGP/MIME

 Cuando recibimos un mensaje firmado digitalmente del tipo MIME/PGP y
 lo abrimos en nuestro lector de correo preferido (Mutt, �cu�l si no?),
 �ste nos lo reconoce como tal y comprueba la veracidad de la firma
 siempre que tengamos la clave p�blica del firmante.  Estos mensajes
 son los que llevan la letra �S� al lado:

      36  S  05/09 Andres Seco Her ( 12K) Al fin

 mientras los mensajes codificados llevan la letra �P�:

      12  P  03/24 Andres Seco Her (6,3K) Re: FW: Re: Mutt - pgp/gnupg

 Pero si el mensaje viene firmado al estilo �application/pgp�, nos
 encontraremos que al abrir el mensaje no habr� verificaci�n, y �ste
 vendr� con el texto rodeado con la firma digital, as�:

 -----BEGIN PGP SIGNED MESSAGE-----

 Date: Tue, 25 May 1999 13:04:26 +0200
 From: La Corporaci�n <[email protected]>
 Subject: Actualizaci�n S.O.
 To: Sufrido Usuario <[email protected]>

 Sufrido usuario:

 le comunicamos que puede usted adquirir la �ltima actualizaci�n del
 programa O.E. con la adquisici�n de nuestro sistema operativo reboot99
 por el m�dico precio de ... etc.

 -----BEGIN PGP SIGNATURE-----
 Version: 2.6.3ia
 Charset: noconv

 iKBGNpUBX0235VapRBUy1KklAQGl9wQA3SBMio0bbbajHAnyKMOlx3tcgNG7/UVC
 AbqXcUnyGGOo13Nbas95G34Fee3wsXIFo1obEfgiRzqPzZPLWoZdAnyTlZyTwCHe
 6ifVpLTuaXvcn9/76rXoI6u9svN2cqHCgHuNASKHaK9034uq81PSdW4QdGLgLoeB
 vnGmxE+tGg32=
 =Xidf
 -----END PGP SIGNATURE-----

 Para poder verificarlo tendr�amos que guardarlo en un fichero y
 hacerlo desde la l�nea de comandos.  Sin embargo, es posible convertir
 estos mensajes con Procmail para que Mutt los reconozca como MIME/PGP.
 Basta con a�adir a .procmailrc:

      :0
      * !^Content-Type: message/
      * !^Content-Type: multipart/
      * !^Content-Type: application/pgp
      {
          :0 fBw
          * ^-----BEGIN PGP MESSAGE-----
          * ^-----END PGP MESSAGE-----
          | formail \
              -i "Content-Type: application/pgp; format=text; x-action=encrypt"

          :0 fBw
          * ^-----BEGIN PGP SIGNED MESSAGE-----
          * ^-----BEGIN PGP SIGNATURE-----
          * ^-----END PGP SIGNATURE-----
          | formail \
              -i "Content-Type: application/pgp; format=text; x-action=sign"
      }

 Como se puede ver esto sirve tanto para los mensajes firmados como
 para los cifrados con application/pgp.

 8.3.  Cambio del tipo MIME para mensajes con claves p�blicas sin
 PGP/MIME

 Cuando recibes una clave p�blica desde un MUA sin soporte PGP/MIME,
 debes salvar la clave en disco y despues insertarla en tu anillo
 p�blico de llaves, pero, incluyendo estas lineas en .procmailrc puedes
 realizar la inserci�n directamente desde el propio Mutt.

      ______________________________________________________________________
          :0 fBw
          * ^-----BEGIN PGP PUBLIC KEY BLOCK-----
          * ^-----END PGP PUBLIC KEY BLOCK-----
          | formail -i "Content-Type: application/pgp-keys; format=text;"
      ______________________________________________________________________

 Gracias a Denis Alan por esta nota de Procmail.

 9.  correo y plataformas Intercambio de mensajes firmados/cifrados
 entre diferentes clientes de

 Inicialmente, las firmas PGP se a�adian al final del texto que
 deseaban firmar.  Posteriormente, se incluyo el tipo MIME
 application/pgp para indicar que el bloque a continuaci�n contenia
 firma o cifrado PGP, y finalmente con la especificaci�n de PGP/MIME se
 consigui� separar la firma de los bloques a los que afectaba, de modo
 que no fueran modificados en absoluto y alguien que no tuviese PGP
 pudiese ver el mensaje exactamente como fue enviado (no cuando est�
 cifrado, evidentemente) sin a�adidos al principio y al final de PGP.

 La situaci�n actual es tal que existen pocos clientes de correo
 capaces de integrarse con PGP para ofrecer PGP/MIME, de modo que suele
 ser necesario enviar mensajes firmados digitalmente de modo que con
 clientes de correo que no soportan PGP/MIME puedan ser verificadas las
 firmas.

 En Linux, los clientes de correo disponibles que cumplen la
 especificaci�n PGP/MIME son mutt-i y pine. En Windows, solo los
 clientes de correo Eudora en sus versiones 3.x y 4.x soportan
 PGP/MIME. Si conoce otros clientes que lo soporten esperamos su
 mensaje indic�ndonoslo, para incluirlo aqu�.

 10.  Programas y versiones utilizados

 Para el desarrollo de esta documentaci�n hemos utilizado las
 siguientes versiones de mutt:

 �  Mutt 0.93i - con esta versi�n de mutt no se puede utilizar GnuPG.

 �  Mutt 0.95.3i - todas las versiones de PGP y GnuPG son utilizables.

 Y las siguientes versiones de PGP y GnuPG:

 �  PGPi 5.0

 �  GnuPG 0.4.3

 �  GnuPG 0.9.4

 11.  M�s informaci�n

 La documentaci�n original a partir de la cual ha sido obtenido este
 documento puede ser encontrada en las paginas man de mutt, pg, pgp5,
 gnupg, procmail, en los directorios correspondientes de /usr/doc y en
 las paginas de los paquetes en la world wide web:

 �  P�gina Oficinal de Mutt - http://www.mutt.org

 �  P�gina Pricipal de GnuPG - http://www.gnupg.org

 �  P�gina internacional de PGP - http://www.pgpi.com

 �  P�gina Oficinal de Procmail - http://www.procmail.org

 Las recomendaciones (request for comments, RFC) que hacen referencia a
 temas tratados en el documento son las siguientes:

 �  1847 - Security Multiparts for MIME: Multipart/signed and
    Multipart/encripted

 �  1848 - MIME Object Security Services

 �  1991 - PGP Message Exchange Formats

 �  2015 - MIME Security with Pretty Good Privacy (PGP)

 �  2440 - OpenPGP Message Format

 y pueden ser encontradas en /usr/doc/doc-rfc y en diversos lugares de
 la world wide web, como http://metalab.unc.edu y http://nic.mil.
 Puedes solicitar informaci�n sobre las RFCs en [email protected]

 12.  Anexo: El INSFLUG

 El INSFLUG forma parte del grupo internacional Linux Documentation
 Project, encarg�ndose de las traducciones al castellano de los Howtos,
 as� como de la producci�n de documentos originales en aquellos casos
 en los que no existe an�logo en ingl�s, centr�ndose, preferentemente,
 en documentos breves, como los COMOs y PUFs (Preguntas de Uso
 Frecuente, las FAQs. :) ), etc.

 Dir�jase a la sede del Insflug para m�s informaci�n al respecto.

 En ella encontrar� siempre las �ltimas versiones de las traducciones
 �oficiales�:  www.insflug.org. Aseg�rese de comprobar cu�l es la
 �ltima versi�n disponible en el Insflug antes de bajar un documento de
 un servidor r�plica.

 Adem�s, cuenta con un sistema interactivo de gesti�n de fe de erratas
 y sugerencias en l�nea, motor de b�squeda espec�fico, y m�s servicios
 en los que estamos trabajando incesantemente.

 Se proporciona tambi�n una lista de los servidores r�plica (mirror)
 del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
 recursos en castellano.

 En http://www.insflug.org/insflug/creditos.php3 cuenta con una
 detallada relaci�n de las personas que hacen posible tanto esto como
 las traducciones.

 �Dir�jase a http://www.insflug.org/colaboracion/index.php3 si desea
 unirse a nosotros!.

 �Cartel� Insflug, [email protected].