This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

GnuPG

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page GnuPG and the translation is 100% complete.
 As of March 3rd, 2015, the information in this article is probably outdated. You can help the Gentoo community by verifying and updating this article.

Esta guía le enseñará a los usuarios de Gentoo Linux lo básico del uso de GnuPG, una herramienta para comunicaciones seguras.

Introducción

Lo que el lector aprenderá de esta guía

Esta guía asume que el lector está familiarizado con la criptografía de clave pública, cifrado y firmas digitales. Si no es el caso, eche un vistazo al manual oficial de GnuPG, en particular al segundo capítulo, y luego vuelva a este artículo.

El lector aprenderá a instalar GnuPG, crear un par de claves, añadir claves a un llavero y enviar una clave pública a un servidor de claves. También aprenderá a firmar, cifrar, verificar y descifrar mensajes y ficheros que se envían o reciben.

Instalación

Ajustes USE

USE flags for app-crypt/gnupg The GNU Privacy Guard, a GPL OpenPGP implementation

bzip2 Enable bzip2 compression support
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
ldap Add LDAP support (Lightweight Directory Access Protocol)
nls Add Native Language Support (using gettext - GNU locale utilities)
readline Enable support for libreadline, a GNU line-editing library that almost everyone wants
selinux  !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
smartcard Build scdaemon software. Enables usage of OpenPGP cards. For other type of smartcards, try app-crypt/gnupg-pkcs11-scd. Bring in dev-libs/libusb as a dependency; enable scdaemon.
ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
tofu Enable support for Trust on First use trust model; requires dev-db/sqlite.
tools Install extra tools (including gpgsplit and gpg-zip).
tpm Enable TPM support via app-crypt/tpm2-tss and build tpm2d.
usb Build direct CCID access for scdaemon; requires dev-libs/libusb.
user-socket try a socket directory which is not removed by init manager at session end
verify-sig Verify upstream signatures on distfiles
wks-server Install the wks-server

Emerge

root #emerge --ask app-crypt/gnupg

Otro software

Como mínimo se debe hacer emerge de GnuPG. Actualmente muchas aplicaciones ofrecen algún tipo de soporte para PGP por lo es una buena idea definir el ajuste USE crypt. Si queremos un cliente de correo que pueda utilizar GnuPG contamos con las siguientes alternativas:

Utilización

Generar una clave y agregar claves públicas a un llavero público

Crear una clave

Para crear una clave, utilice la orden gpg --full-gen-key. La primera vez que se lanza, se crearán algunos directorios que son esenciales para una operación e implementación correctas de GnuPG. Lanzarla de nuevo para crear las claves:

user $gpg --full-gen-key
gpg (GnuPG) 2.1.18; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Por favor seleccione tipo de clave deseado:
   (1) RSA y RSA (por defecto)
   (2) DSA y ElGamal
   (3) DSA (sólo firmar)
   (4) RSA (sólo firmar)
Su elección: 1

Se puede elegir el tipo de clave, sin embargo la mayoría mayoría de los usuarios elegirán la predeterminada RSA y RSA. Lo siguiente a elegir es el tamaño de la clave. Normalmente, cuanto mayor sea el número de bits de la clave, mejor, pero no utilice un tamaño superior a 2048 para claves DSA/ElGamal. Normalmente 2048 es más que suficiente para comunicaciones normales a través del correo electrónico.

A los desarrolladores de Gentoo (especialmente aquéllos que trabajan con ebuilds) se les recomienda utilizar claves de 4096 bits.

Después del tamaño viene la fecha de expiración. Cuanto antes sea esta fecha, mejor. Sin embargo, la mayoría de los usuarios usan claves que nunca expiran o tienen una fecha de expiración de dos o tres años. Recuerde que puede extender de forma indefinida la fecha de expiración de una clave incluso cuando ésta haya expirado.

CÓDIGO Elegir el tamaño de la clave
Las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
¿De qué tamaño quiere la clave? (2048) 2048
El tamaño requerido es de 2048 bits
Por favor, especifique el período de validez de la clave.
         0 = la clave nunca caduca
      <n>  = la clave caduca en n días
      <n>w = la clave caduca en n semanas
      <n>m = la clave caduca en n meses
      <n>y = la clave caduca en n años
¿Validez de la clave (0)? 0
La clave nunca caduca

Ahora es el momento de introducir información personal sobre la clave del usuario. Cuando se envía la clave pública a otros usuarios, es importante escribir una dirección de correo electrónico (contrariamente a una dirección de correo electrónico falsa).

CÓDIGO Introducir información de usuario
¿Es correcto? (s/n) s

GnuPG debe construir un ID de usuario para identificar su clave.

Nombre y apellidos: Larry la vaca
Dirección de correo electrónico: larry@gentoo.org
Comentario: El mismísimo Gentoo

Ha seleccionado este ID de usuario:
"Larry la vaca (el mismísimo Gentoo) <larry@gentoo.org>"

¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? V

Necesita una frase contraseña para proteger su clave secreta.

Introduzca frase contraseña:

Ahora teclee una contraseña dos veces. Es una buena idea utilizar una frase contraseña fuerte. Si alguien obtiene la clave privada y obtiene la contraseña, podrán suplantar al usuario enviando mensajes firmados en su nombre como si se tratara del usuario legítimo. El usuario malicioso podría engañar a los contactos víctima que creen que los mensajes los envía el usuario legítimo. Nota: Si se encuentra con algún error durante este proceso, lea la sección sobre pinentry más abajo.

A continucación, GnuPG generará una clave. Mover el ratón, navegar por la web o recibir un flujo de audio en segundo plano ayudará a acelerar el proceso de generación de datos aleatorios, lo cual se utiliza para incrementar la seguridad del par de claves.

Generar un certificado de revocación

Importante
Esta parte es muy importante y se debe realizar AHORA.

Después de crear las claves, se debe crear un certificado de revocación. Hacer esto le permite al usuario revocar su clave en caso que algo desagradable ocurra (por ejemplo un usuario con malas intenciones que obtenga el control de la clave o frase de paso).

user $gpg --list-keys
/home/humpback/.gnupg/pubring.gpg
---------------------------------
pub  1024D/75447B14 2002-12-08 Larry la vaca (La mismísima vaca Larry de Gentoo) <larry@gentoo.org>
sub  2048g/96D6CDAD 2002-12-08
user $gpg --output revoke.asc --gen-revoke 75447B14
sec 1024D/75447B14 2002-12-08 Larry la vaca (La mismísima vaca de Gentoo) <larry@gentoo.org>

¿Crear un certificado de revocación para esta clave? (s/N) 
Por favor elija una razón para la revocación:
  0 = No se dio ninguna razón
  1 = La clave ha sido comprometida
  2 = La clave ha sido reemplazada.
  3 = La clave ya no está en uso
  Q = Cancelar
(Probablemente quería seleccionar 1 aquí)
¿Su decisión? 1

Introduzca una descripción opcional; acábela con una línea vacía:
> Alguien ha entrado en mi sistema y ha obtenido mi clave y mi frase contraseña
>
Razón para la revocación: La clave ha sido comprometida
Alguien ha entrado en mi sistema y ha obtenido mi clave y mi frase contraseña
¿Es correcto? (s/N) s

Necesita una frase contraseña para desbloquear la clave secreta del usuario: "Larry la vaca (La mismísima vaca de Gentoo) <larry@gentoo.org>"
clave RSA de 2048 bits, ID 75447B14, creada el 2002-12-08

se fuerza salida con armadura ASCII.
Certificado de revocación creado.

Por favor consérvelo en un medio que pueda esconder; si alguien consigue acceso a este certificado puede usarlo para inutilizar su clave.
Es prudente imprimir este certificado y guardarlo en otro lugar, por si acaso su medio resulta imposible de leer. Pero precaución: ¡El sistema
de impresión de su máquina podría almacenar los datos y hacerlos accesibles a otras personas!

La orden gpg --list-keys muestra las claves en el llavero de claves públicas. Se puede usar para ver el ID de la clave y poder crear el certificado de revocación. Es buena idea hacer una copia del directorio .gnupg y del certificado de revocación (en formato ASCII armado, revoke.asc) a un medio seguro (un CD-R o una memoria USB que se guarde en un lugar seguro). Recuerde que puede usar revoke.asc para revocar las claves y hacerlas inutilizables en el futuro.

Nota
Si un usuario tiene varias direcciones de correo electrónico que quiera usar con esta clave, el usuario puede lanzar gpg --edit-key <ID_DEL_USUARIO> y luego usar la orden adduid. Le preguntará al usuario el nombre, dirección de correo electrónico, y un comentario para el segundo ID que va a utilizar.

Exportar claves

Para exportar una clave, lanzar gpg --armor --output larry.asc --export larry@gentoo.org. Casi siempre podrá utilzar el ID de la clave o algo que la identifique (en este ejemplo hemos usado una dirección de correo electrónico). Larry tiene ahora un archivo larry.asc que puede enviar a sus amigos, o poner en su sitio web para que otros se comuniquen con él de forma segura.

Importar claves

Para añadir claves a un llavero público, se deben seguir los siguientes pasos:

  1. Importar la clave
  2. Comprobar la huella digital de la clave
  3. Después de verificar la huella digital de la clave, se debe validar.
Nota
Sea cuidadoso cuando verifique las claves. Este es uno de los puntos débiles de la criptografía de clave pública.

Ahora agregaremos la clave pública de Luis Pinto (un amigo mio) a nuestro llavero de claves públicas. Despúes de hablar con él por teléfono y de haberle preguntado por su huella digital, comparo esta huella con la salida de la orden fpr. Como la clave es auténtica, la agrego al llavero de claves públicas. En este caso particular, la clave de Luis expira el 2003-12-01 entonces se me preguntará si quiero que mi firma en su clave expire en el mismo día.

user $gpg --import luis.asc
gpg: key 462405BB: clave pública importada
gpg: Cantidad total procesada: 1
gpg:               importadas: 1
user $gpg --list-keys
/home/humpback/.gnupg/pubring.gpg
---------------------------------
pub 1024D/75447B14 2002-12-08 Larry la vaca (La mismísima vaca Larry de Gentoo) <larry@gentoo.org>
sub 2048g/96D6CDAD 2002-12-08

pub 1024D/462405BB 2002-12-01 Luis Pinto <lmpinto@student.dei.uc.pt>
uid Luis Pinto <lmpinto@dei.uc.pt>
sub 4096g/922175B3 2002-12-01 [expires: 2003-12-01]
user $gpg --edit-key lmpinto@dei.uc.pt
gpg (GnuPG) 1.0.7; Copyright (C) 2002 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub 1024D/462405BB creado: 2002-12-01 caduca: 2003-12-01 trust: -/-
sub 4096g/922175B3 creado: 2002-12-01 caduca: 2003-12-01
(1) Luis Pinto <lmpinto@dei.uc.pt>
(2). Luis Pinto <lmpinto@student.dei.uc.pt>
Command>fpr
pub 1024D/462405BB 2002-12-01 Luis Pinto <lmpinto@dei.uc.pt>
 Huella clave primaria: F056 3697 ADE3 CF98 B80B 8494 0AD3 E57B 4624 05BB
Command>sign

pub 1024D/462405BB created: 2002-12-01 expires: 2003-12-01 trust: -/-
 Huella clave primaria: F056 3697 ADE3 CF98 B80B 8494 0AD3 E57B 4624 05BB

   Luis Pinto <lmpinto@dei.uc.pt>
   Luis Pinto <lmpinto@student.dei.uc.pt>

Esta clave expirará el 2003-12-01.
¿Quiere que su firma caduque en el mismo momento? (S/n) s
¿Cómo ha verificado que la clave que va a firmar pertenece a la persona nombrada arriba?. Si no sabe qué contestar, introduzca "0".

   (0) No contestaré. (por defecto)
   (1) No lo he comprobado.
   (2) He realizado una comprobación parcial.
   (3) He comprobado la clave cuidadosamente.

   ¿Su decisión? 3

¿Está seguro de querer firmar esta clave con su clave: "Larry la vaca (La mismísima vaca Larry de Gentoo) <larry@gentoo.org>"?

He comprobado la clave cuidadosamente

¿Firmar de verdad? (s/N) s
Necesita una frase contraseña para desbloquear la clave secreta
del usuario: "Larry la vaca (La mismísima vaca Larry de Gentoo) <larry@gentoo.org>"
Command>check
uid Luis Pinto <lmpinto@dei.uc.pt>
sig!3 462405BB 2002-12-01 [self-signature]
sig!3 75447B14 2002-12-08 Larry la vaca (La mismísima vaca Larry de Gentoo) <larry@gentoo.org>
uid Luis Pinto <lmpinto@student.dei.uc.pt>
sig!3 462405BB 2002-12-01 [self-signature]
sig!3 75447B14 2002-12-08 Larry la vaca (La mismísima vaca Larry de Gentoo) <larry@gentoo.org>

Intercambiar claves con servidores de claves

Enviar claves a los servidores de claves

Ahora que se ha generado la clave, probablemente sea buena idea enviarla a un servidor de claves. Hay un montón de servidores de claves en el mundo y muchos de ellos intercambian claves entre sí. En el siguiente ejemplo, vamos a enviar la clave de la vaca Larry al servidor keys.gnupg.net. El envío de claves se hace mediante HTTP, por lo que si se necesita usar un proxy para el tráfico HTTP, no se debe olvidar configurarlo (export http_proxy=http://maquina_proxy:puerto/). La orden para enviar la clave es: gpg --keyserver keys.gnupg.net --keyserver-options honor-http-proxy --send-key 75447B14 donde 75447B14 es el ID de la clave. Si no se necesita un proxy HTTP se puede quitar la opción --keyserver-options honor-http-proxy.

También es buena idea enviar al servidor las claves de otras personas que Larry ha firmado. Podríamos enviar la clave de Luis Pinto al servidor. De esta forma alguien que confía en la clave de Larry puede usar la firma que ha puesto ahí para confiar en la clave de Luis.

Obtener claves desde los servidores de claves

Ahora buscaremos la clave de Gustavo Felisberto (el autor de esta guía :)) y la agregaremos al llavero de claves de la vaca Larry.

user $gpg --keyserver keys.gnupg.net --keyserver-options honor-http-proxy --search-keys humpback@felisberto.net
gpg: buscando "humpback@felisberto.net" de hkp servidor keys.gnupg.net
(1)	Gustavo Felisberto <humpback@gmail.com>
	Gustavo Felisberto <humpback@gentoo.org>
	Gustavo Felisberto <humpback@gentoopt.org>
	Gustavo Felisberto <gustavo@felisberto.net>
	Gustavo Felisberto <humpback@gentoo-pt.org>
	Gustavo Felisberto <humpback@felisberto.net>
	Gustavo Felisberto <gustavo@student.dei.uc.pt>
	Gustavo Felisberto <humpback@student.dec.uc.pt>
	Gustavo Felisberto (apt-get install anarchy) <humpback@felisberto.net>
	  1024 bit DSA key B9F2D52A, created: 2002-12-06
(2)	Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net>
	  1024 bit DSA key 26471D8F, created: 2001-09-05
(3)	Gustavo Felisberto <humpback@altavista.net>
	  1024 bit DSA key E97E0B46, created: 1999-08-04, expires: 2000-08-04 (expired)
(4)	Gustavo A.S.R. Felisberto <humpback@altavista.net>
	  1024 bit DSA key B59AB043, created: 1998-12-10
(5)	Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net>
	  1024 bit DSA key 39EB133D, created: 1998-08-27
(6)	Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net>
	  1024 bit DSA key AE02AF87, created: 1998-06-15
Introduzca número(s), O&41;tro, o F&41;in >

gpg: solicitando clave B9F2D52A de hkp servidor keys.gnupg.net
gpg: clave B9F2D52A: clave pública "Gustavo Felisberto <humpback@felisberto.net>" importada
gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias, modelo de confianza clásico
gpg: nivel: 0  validez:   4  firmada:   0  confianza: 0-, 0q, 0n, 0m, 0f, 4u
gpg: siguiente comprobación del anillo de confianza expira el 2015-06-28
gpg: Cantidad total procesada: 1
gpg:               importadas: 1

Echando un vistazo a la respuesta del servidor, es posible comprobar que se han enviado pocas claves, sin embargo solo se utiliza B9F2D52A. Ahora la vaca Larry puede obtener la clave y firmala si confía en su procedencia.

Usar un Agente GPG

¿Qué es un Agente GPG?

Hay casos cuando se está trabajando con ciertas aplicaciones donde se usa la clave GPG frecuentemente, lo que significa se debe teclear la contraseña frecuentemente. En el pasado, muchas aplicaciones ofrececían un mecanismo de cacheo de la contraseña. Esto hace más fácil la vida de los usuarios ya que las contraseñas se introducían de forma automática. Sin embargo, inhabilitaba el poder compartir esta caché con otros programas (¿Sería esto seguro?) y forzaba a las aplicaciones a reinventar la rueda una y otra vez.

Un agente GPG es una aplicación no incluida en GPG que se utiliza para mantener en caché la contraseña de forma estándar y segura. Permite a las aplicaciones usar GPG de forma concurrente: si teclea la contraseña mientras trabaja en una aplicación, otra puede trabajar con GPG sin tener que desbloquear la clave de nuevo, siempre y cuando, por supuesto, se configure el agente GPG para ello.

Gentoo proporciona algunas aplicaciones de agente GPG. El paquete app-crypt/gnupg se puede considerar como referencia, y será la opción principal en este artículo.

Configurar gpg-agent y pinentry

GnuPG incluye gpg-agent. Pinentry (app-crypt/pinentry) es una aplicación de ayuda que utiliza gpg-agent para solicitar una contraseña en una ventana gráfica. Se puede utilizar de muchas formas incluyendo gtk2 y 3, qt4 y 5, tty y curses. Se recomienda construir siempre la versión ncurses. Defina los ajustes USE de forma adecuada.

Si se instaló app-crypt/pinentry con más de un tipo de gestión de ventana, es posible elegir entre las ventanas utilizando la orden eselect-pinentry:

root #eselect pinentry list
Available pinentry binary implementations:
  [1]   pinentry-gnome3 *
  [2]   pinentry-gtk-2
  [3]   pinentry-curses
  [4]   pinentry-tty
root #eselect pinentry set 1

A continuación, cree un archivo llamado ~/.gnupg/gpg-agent.conf y añada las siguientes líneas para definir el tiempo de espera por defecto para mantener al contraseña (por ejemplo, 30 minutos) y la aplicación que se lanzará cuando se necesite recuperar la contraseña (por ejemplo, la versión GTK+ de Pinentry).

ARCHIVO ~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gtk-2
no-grab
default-cache-ttl 1800

Ahora configure GnuPG para que use un agente cuando sea conveniente. Edite ~/.gnupg/gpg.conf y agregue la siguiente línea:

ARCHIVO ~/.gnupg/gpg.confConfigurar GnuPG para que utilice un agente GPG
use-agent

Ahora el sistema está (casi) listo para usar el agente GPG.

Iniciar automáticamente el agente GPG

Si se utiliza KDE como entorno de escritorio, editar /etc/plasma/startup/10-agent-startup.sh (para todo el sistema en KDE4 /etc/kde/startup/agent-startup.sh) o ~/.config/plasma-workspace/env/gpg-agent.sh (usuario local, ~/.kde4/env/gpg-agent.sh en KDE4). Añadir la siguiente orden al fichero apropiado para que KDE arranque automáticamente el agente GPG:

ARCHIVO /etc/plasma/startup/10-agent-startup.shHacer que Plasma arranque el agente GPG de forma automática
if [ -x /usr/bin/gpg-agent ]; then
 eval "$(/usr/bin/gpg-agent --daemon)"
fi

Adicionalmente, elimine los comentarios de la siguientes líneas en /etc/plasma/shutdown/10-agent-shutdown.sh (para todo el sistema, /etc/kde/shutdown/agent-shutdown.sh en KDE4) o añádalo a ~/.config/plasma-workspace/shutdown/gpg-agent.sh (usuario local, ~/.kde4/shutdown/gpg-agent.sh en KDE4):

ARCHIVO /etc/plasma/shutdown/10-agent-shutdown.shAsegurarse de que Plasma para el agente GPG
if [ -n "${GPG_AGENT_INFO}" ]; then
  kill $(echo ${GPG_AGENT_INFO} | cut -d':' -f 2) >/dev/null 2>&1
fi

Cuando se utilice un entorno de escritorio que no sea KDE, poner las líneas de arriba en ~/.xinitrc si se utiliza startx para arrancar X.org o ~/.xsession si se utiliza XDM, GDM, KDM, etc.

Trabajar con documentos

Cifrar y firmar

Supongamos que Larry tiene un archivo que quiere enviar a Luis. Larry puede cifrarlo, firmarlo, o cifrarlo y firmarlo. Cifrarlo significa que solo Luis podrá abrirlo. La firma le indica a Luis que el archivó realmente lo creó Larry.

Para cifrar:

user $gpg --output doc.gpg --encrypt --recipient lmpinto@dei.uc.pt documento_a_cifrar

Para firmar:

user $gpg --output doc.gpg --sign --recipient lmpinto@dei.uc.pt documento_a_firmar

Para cifrar y firmar:

user $gpg --output doc.gpg --encrypt --sign --recipient lmpinto@dei.uc.pt documento_a_cifrar_y_firmar

Esto creará archivos binarios. Cuando se desee crear archivos ASCII, únicamente se debe agregar la opción --clearsign al principio de la orden.

Descifrar y verificar firmas

Suponga que Larry ha recibido un archivo cifrado. La orden utilizada para descifrarlo es gpg --output document --decrypt documento_cifrado.gpg. Esto descifrará el documento y verificará la firma (si es que hay una).

Cifrar y descifrar sin claves

Es posible cifrar archivos usando contraseñas en lugar de claves. La contraseña funcionará como la clave y se utilizará como cifrado simétrico. Se puede cifrar el archivo con gpg --symmetric, el descifrado usa la misma orden como se ha mencionado anteriormente.

user $gpg --output documento.gpg --symmetric documento

GnuPG le pedirá una una contraseña y su verificación.

Características avanzadas

Hay algunas características avanzadas agradables en GnuPG. Para encontrarlas, abra el archivo ~/.gnupg/gpg.conf

ARCHIVO ~/.gnupg/gpg.conf
#keyserver x-hkp://keys.gnupg.net
#keyserver-options auto-key-retrieve include-disabled include-revoked

Elimine los comentarios de las dos líneas de arriba. Con estas modificaciones realizadas, cada vez que GnuPG necesite comprobar una firma y no encuentre la clave pública en el llavero de claves local, contactará con el servidor de claves en keys.gnupg.net e intentará obtenerla la clave pública del servidor.

Otra orden interesante es gpg --refresh-keys. Ésta contactará con el servidor de claves definido en el fichero de configuración y refrescará las claves públicas del llavero. Puede buscar claves revocadas, nuevos IDs y nuevas firmas en las claves. Es prudente lanzar esta orden una o dos veces al mes, ya que si un usuario revoca sus claves esto nos puede indicar que ya no se puede confiar en ellas.

Interfaces GnuPG

Acerca de las firmas en los correos electrónicos

El 95% del tiempo GnuPG se utiliza para el firmado y cifrado de mensajes de correo electrónico o para leer mensajes firmados y cifrados.

Hay dos formas de firmar o cifrar un correo electrónico con GnuPG, la antigua y nueva. En la antigua, los mensajes aparecían en texto plano sin formato posible y los archivos adjuntos estaban sin firmar o sin cifrar, a continuación se muestra un ejemplo de un mensaje firmado a la antigua:

CÓDIGO Una firma en texto plano
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Mensaje de prueba

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.8 for non-commercial use


iQA/AwUBP8461jMX0745gR7AEQIEOwCg011GbufXO3ED3FkLWXmfzg7xm1cAoJD0
0EU3Kd2EKNCqataEqM5qjpPs
=LchZ
-----END PGP SIGNATURE-----

Mensajes como éste no son buenos en el mundo actual, en el que hay hemosas interfaces gráficas y lectores de correo que comprenden HTML.

Para solucionar esto se creó una extensión a MIME (Extensiones de Correo de Internet Multipropósito). Esto añade un campo al mensaje de correo electrónico que notifica al programa lector de correo que el contenido completo del mensaje está firmado o cifrado. El problema es que no todos los lectores de correo soportan estas características. Algunos incluso desordenan el contenido (el programa Microsoft Outlook es famoso por no funcionar bien con esto).

Kgpg

Kgpg (kde-base/kmail) es un fantástico GUI para GnuPG. La ventana principal ofrece un área para pegar el texto que se desea firmar o cifrar. La forma opuesta también es correcta: Se puede introducir también el texto en formato armadura ASCII que se desea descrifrar.

Seahorse

Seahorse (app-crypt/seahorse) pretende ser un interfaz GUI de GnuPG para el escritorio GNOME. El software ha evolucionado rápido, pero aún carece de muchas características importantes que se pueden encontrar en Kgpg o en la versión de línea de órdenes.

KMail

Si se ha definido el ajuste USE crypt, KMail se compilará con soporte gpg y podrá cifrar y descifrar mensajes de correo electrónico PGP en línea así como cifrar mensajes OpenPGP/MIME. Para descifrar mensajes OpenPGP/MIME (que es lo que la mayoría de los usuarios desean) se necesita un agente GPG corriendo.

Para verificar si KMail está configurado adecuadamente, vaya a Settings → Configure KMail → Security → Crypto Backends. Se debería listar un entorno basado en GpgME y la casilla OpenPGP debería estar marcada. Si está listada pero en color gris, haga clic en Rescan. Si el entorno permanece en color gris esto indica que KMail no está funcionando correctamente.

Cuando no se pierda el control de KMail, lea la official página PGP de KMail para obtener más información.

Claws-Mail

Este cliente de correo electrónico es muy rápido trabajando con buzones de correo de gran tamaño, tiene todas las buenas características que uno quiere en un programa de este tipo y funciona bastante bien con GPG. El único problema es que no funciona con las firmas PGP antiguas, así que cuando reciba correos de ese tipo tendrá que comprobar las firmas manualmente.

Para usar una clave GPG con Claws-Mail vaya a account configuration → ficha privacy. Una vez allí, elija qué clave va a utilizar. Probablemente la mayoría de los usuarios podrán trabajar con la clave por defecto.

Criptografía de clave pública

Criptografía de clave pública básica

Consideraciones finales y créditos

Algunos problemas

He tenido algunos problemas con fotos en las claves. Verifique la versión que está usando. Si tiene la versión GnuPG 1.2.1-r1 o superior probablemente no tenga problemas, puede tener problemas con versiones más antiguas. A la mayoría de los servidores de claves tampoco le gustan mucho las claves con fotos, por lo que es mejor no añadir fotos.

En las últimas versiones de GnuPG parece que no funciona gpg --send-keys que se utiliza para enviar todas las claves del llavero al servidor de claves.

¿Qué no se ha incluido aquí?

La herramienta gpg es muy compleja. Permite a los usuarios hacer mucho más de lo que se ha cubierto aquí. Este documento está indicado para usuarios novatos en GnuPG. Para más información, eche un vistazo al sitio web oficial de GnuPG.

Este artículo no cubre herramientas como pgp4pine, gpgpine, evolution ni herramientas GPG para Windows.

Créditos

El Manual GnuPG de John Michael Ashley es un buen libro para principiantes.

Swift (Sven Vermeulen) por animarme a reescribir esta guía.

A todos los miembros del equipo #gentoo-doc, tíos, moláis.

Gracias a Tiago Serra por apoyarme en el estudio de la privacidad.

Recursos externos