Generar claves
gpg --gen-key
Seguir las instrucciones para generar las claves GPG.
Se puede también ejecutar con selección manual de opciones con el comando:
gpg --full-generate-key
Listar claves existentes
Claves públicas
gpg --list-keys
Se mostrará una lista similar a:
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2023-06-05
/home/jose/.gnupg/pubring.kbx
-----------------------------
pub rsa4096 2020-02-04 [SC] [expires: 2023-06-05]
635BCDD1CFC5981624523F4174FF027519B21EDF
uid [ultimate] José Luis Patiño Andrés <jose.patino-andres@protonmail.com>
sub rsa4096 2020-02-04 [E] [expires: 2023-06-05]
Claves privadas
gpg --list-secret-keys
Mostrar fingerprints
gpg --fingerprint your_email@address.com
Mostrará una salida como:
pub 4096R/311B1F84 2020-02-04
Key fingerprint = CB9E C70F 2421 AF06 7D72 F980 8287 6A15 311B 1F84
uid José Luis Patiño Andrés <jose.patino-andres@protonmail.com>
sub 4096R/8822A56A 2023-06-05
Cifrar ficheros
Cifrado
Para cifrar un fichero con nuestra clave GPG ejecutamos el comando:
gpg --encrypt --local-user <USUARIO_QUE_CIFRA> --recipient <USUARIO_QUE_RECIBE_FICHERO> <FICHERO>
Así ciframos con nuestra clave un fichero que podrá abrir sólo el usuario que hayamos especificado (podemos ser nosotros mismos).
Esto generará un fichero igual al anterior, con la extensión .gpg.
El mismo comando, más corto:
gpg -e -u <USUARIO_QUE_CIFRA> -r <USUARIO_QUE_RECIBE_FICHERO> <FICHERO>
Descifrado
Para descifrar, simplemente:
gpg <FICHERO>
Exportación de claves
Exportar claves privadas
gpg --export-secret-keys > private.key
Exportar claves públicas
gpg --export > public.key
Importación de claves
Importar clave privada
gpg --allow-secret-key-import --import private.key
Importar clave pública
gpg --import public.key
Borrar claves
Primero hay que borrar las claves privadas:
gpg --delete-secret-keys <USUARIO>
Y luego las públicas:
gpg --delete-key <USUARIO>