GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP. wiki
Crear par de llaves para firmar y cifrar
# Listar keys gpg disponibles
gpg --list-keys
# Generar un nuevo par de claves primario.
gpg --gen-key
# Te preguntara por el tipo de llaves
# La mayoria de las personas tiene suficiente con la opción 1
gpg (GnuPG) 1.4.18; Copyright (C) 2014 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.
Seleccione el tipo de clave deseado:
(1) DSA y ElGamal (por defecto)
(2) DSA y ElGamal (por defecto)
(3) DSA (sólo firmar)
(4) RSA (sólo firmar)
# Te preguntara por la longitud de la clave
Las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
¿De qué tamaño quiere la clave? (2048)
# Te Pedira la fecha de expiración de la llave
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)?
# Te pedira los datos del propietario
Nombre y apellidos: Cristofer
Dirección de correo electrónico: cristofer@tumail.com
Comentario: Algo que nos permita diferenciarla de las demás llaves que podamos tener
# Cuando termine de generar el par de llaves, mostrara algo como
gpg: clave 425026EE marcada como de confianza absoluta
claves pública y secreta creadas y firmadas.
gpg: comprobando base de datos de confianza
gpg: 3 dudosa(s) necesaria(s), 1 completa(s) necesaria(s),
modelo de confianza PGP
gpg: nivel: 0 validez: 1 firmada: 0 confianza: 0-, 0q, 0n, 0m, 0f, 1u
pub 2048R/0A46826A 2018-04-05
Huella de clave = 6216 0275 D609 A246 0369 FFCB DB4A 0453 4250 26EE
uid Scott Chacon (HP) <schacon@gmail.com>
sub 2048R/874529A9 2018-04-05
# Volvemos a listar las llaves
$ gpg --list-keys
/Users/schacon/.gnupg/pubring.gpg
---------------------------------
pub 2048R/0A46826A 2018-04-05
uid Scott Chacon (Git signing key) <schacon@gmail.com>
sub 2048R/874529A9 2018-04-05
Eliminar llaves
# Listar keys gpg disponibles
gpg --list-keys
# Retornara algo como
pub 2048R/C5DB61BC 2015-04-21
uid Your Name (Optional Comment)
sub 2048R/18C601D3 2015-04-21
# Eliminar la llave pública
gpg --delete-key C5DB61BC
# Eliminar la llave privada
gpg --delete-secret-key C5DB61BC