Cómo usar GNUPG en Debian
Información obtenida principalmente de aquí.
Edición de gpg.conf
Editamos el archivo de marras con nano ~/.gnupg/gpg.conf
para incluir al final lo siguiente:
personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
Creación de la clave
ana@pryan:~$ gpg --gen-key
...
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 4
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
...
Creación de subclaves
Ahora crearemos una subclave sobre nuestra clave anterior.
gpg --edit-key mi@correo.com
...
Command> addkey
Key is protected.
You need a passphrase to unlock the secret key for
user: "Mi nombre <mi@correo.org>"
4096-bit RSA key, ID 6AA15948, created 2017-01-03
Please select what kind of key you want:
(2) DSA (sign only)
(4) Elgamal (encrypt only)
(5) RSA (sign only)
(6) RSA (encrypt only)
Your selection? 6
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 1y
Key expires at Thu 04 Jan 2018 20:31:27 CET
Is this correct? (y/N) y
Really create? (y/N) y
...
Y después de crearla la guardamos.
Command> save
Exportación de clave pública
Ejecutamos el siguiendo comando.
gpg --armor --export mi@correo.com > miClave.asc
Importación de clave pública
Suponiendo que clave.gpg
es un archivo con la clave pública de la persona con la que nos queremos comunicar. Debermos añadir esta clave de la siguiente forma.
gpg --import clave.gpg
gpg: key 9E98BC16: public key imported
gpg: Total number processed: 1
gpg: imported: 1
Con gpg --list-keys
mostraremos la lista de claves, las recientemente añadidas deberán aparecer.
Cifrado de mensajes
Para cifrar un mensaje documento.txt
con una clave pública asociada a mi@correo.com
y guardar el texto cifrado en documento.gpg
ejecutamos lo siguiente.
gpg --output documento.gpg --encrypt --recipient mi@correo.com documento.txt
Descifrado de mensajes
Para descifrar documento.gpg
y guardarlo en documento
ejecutamos lo siguiente.
gpg --output documento --decrypt documento.gpg
Otras cosas de interes
Para comprobar la autenticidad de una clave podemos comprobar su “fingerprint” mediante el comando siguiente:
gpg --edit-key mi@correo.comando
....
Command> fpr
pub 1024D/9E98BC16 1999-06-04 usuario (Executioner) <mi@correo.com>
Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16
Verificando con el originador que este código es idéntico.
La firmaremos con:
Command> sign
Y comprobaremos las firmas con
Command> check