GnuPG es una herramienta para comunicación segura. Utiliza criptografía de llave pública para que puedas comunicarte de forma segura.
En el sistema de criptografía de llave pública, el usario tiene un par de llaves, una llave pública y una llave privada. La llave privada se mantiene en secreto y núnca se revela; la llave pública se comparte con quien quieres comunicarte de forma segura.
Hay dos formas de generar un nuevo par de llaves:
--gen-key
o --generate-key
--full-gen-key
o --full-generate-key
gpg [--gen-key | --full-gen-key]
En el caso de que te olvides de tu contraseña para acceder, tu llave privada es revelada o la pierdes. Debes crear un certificado de revocación y públicarlo a tus contactos para notificarlos de que no deben usar esa llave para comunicarse contigo.
gpg --output revocation_cert.asc --gen-revoke your-key
Si utilizas --generate-key
, el certificado de revocación es generado automáticamente y guardado en un subdirectorio de ~/.gnupg
. El argumento your-key
debe ser el ID de tu llave publica o un argumento que la identifique, por ejemplo el correo electronico asociado. Aunque si tienes varias llaves con el mismo correo, es mejor usar el ID.
Para comunicarte con otros necesitas intercambiar tu llave pública. Para listar las llaves te tu llavero público utiliza la opción --list-keys
, aunque normalmente se comparte el formato largo de la keyid
, para colaborar en git.
gpg --list-keys --keyid-format LONG
Para enviar una llave pública a tu contacto, necesitas primero exportarla con la opción --export
y pasar el ID de la llave que quieres exportar. También puedes usar la opción --output
y especificar un archivo, de otra forma imprimirá la llave a la salida de la terminal.
gpg --output pub_key.gpg --export username@mail.com
De esta forma, la llave se exporta en forma binaria, esto es inconveniente para compartir correo en texto plano. Puedes usar la opción --armor
para exportarla en formato ASCII-blindado.
gpg --armor --export A8S1DE67FF21EDMXXX
Para descifrar la información que tu contacto te envía, necesitas importar su llave pública a tu llavero de llaves públicas usando la opción --import
.
gpg --import contact_key.gpg
Para validar la llave, necesitas verificar la huella dáctilar y firmarla.
Para verificar la huella dáctilar utilizas la opción --fingerprint
pasando el ID de la llave importada. También puedes usar la opción --edit-key
y usar los comandos del diálogo.
gpg --fingerprint <key-id>
Para firmarla utilizas la opción --sign-key
.
gpg --sign-key <key-id>
Se supone que ya tienes una llave privada/pública de gnupg localmente en tu GNU/Linux
Poner esto en tu ~/.gnupg/gpg.conf
keyserver hkps://keys.openpgp.org
gpg --auto-key-locate keyserver --locate-keys rek2@hispagatos.org
gpg --refresh-keys
gpg --export tu_nombre@tucorreo.com | curl -T - https://keys.openpgp.org
El resultado es un enlace para confirmar tu correo en keys.openpgp.org
commit a300fb53568e3e2db1bf24c1d5467a63b59f174d Author: ReK2 <rek2@hispagatos.org> Date: 2024-07-22T18:22:54+02:00 fix typo