Después de 10 años de cuidar mi clave privada GPG, finalmente la perdí en esta última mudanza y reinstalación.
Todavía es posible que al terminar de desempacar me encuentre en algún lugar el certificado de revocación y les ancianes del internet me vuelvan a recibir para tomar te. Por ahora necesito una clave nueva para firmar mis commits en git, más que nada. Antes la usaba para firmar y cifrar mis correos, pero eso ya pasó de moda y casi no se usa.
Esta es la milpa digital de gpg:
Y el colectivo disonancia tiene un cursito de GPG muy lindo:
Aquí solo voy a poner los conjuros que voy usando.
Conjuros
El programa gpg
ya viene listo con mi instalación de Debian.
Mostrar la ayuda:
$ gpg --help
Generar un par de claves pública y privada:
$ gpg --full-generate-key
Quiero usar RSA and RSA (default)
,
de 4096
bits,
y que expire en 10y
, 10 años. Estoy bastante seguro que en 10 años la voy a perder de nuevo.
Este paso hay que confirmarlo.
Lo que sigue es la identidad asociada al par de claves. Para esto voy a usar mi identidad real, mi nomber completo y mi dirección de correo pública. También puedo ponerle un comentario opcional. Voy a poner de comentario personal
, para luego agregarle mi correo de trabajo y tal vez algunas otras identidades.
Finalmente el programa necesita acumular entropía para hacer una clave segura. Aquí es nada más ponerse a hacer otra cosa en la computadora, mover el ratón, escribir en el teclado. Después de un rato regresamos y el par de claves están listas.
pub rsa4096 2024-11-27 [SC] [expires: 2034-11-25]
12053EF2FA4B99679B65F22D314CACB1BB378288
uid Leonardo Arias Fonseca (personal) <yo@elopio.net>
sub rsa4096 2024-11-27 [E] [expires: 2034-11-25]
El certificado de revocación me lo generó en /home/elopio/.gnupg/openpgp-revocs.d/12053EF2FA4B99679B65F22D314CACB1BB378288.rev
. Este es importante guardarlo en un lugar seguro, que no se pierda por 10 años.
La huella digital de mi clave GPG es ese número hexadecimal largo: 12053EF2FA4B99679B65F22D314CACB1BB378288
. Este número es importante para ejecutar los siguientes comandos.
Para exportar el identificador de la clave:
$ gpg --armor --export <huella-digital>
Esto imprime un texto largo que es lo que voy a copiar en github y gitlab para que puedan verificar el código que firmo con esta clave.