GnuPG

ATENCIO: FES SERVIR SEMPRE gpg2, MAI gpg! (No perque no sigui bo, sino perque ja has emprat gpg2 i les claus no serveixen per a gpg.)

NOTA: a on les comendes de sota diuen , en realitat es pot indicar tant l'usuari entre cometes com l'adreca de correu electronic.

NOTA: en principi no pots emprar gpg2 en una sessio su. Cal fer log in directament o be definir GPG_AGENT_INFO i potser fer quelcom mes. No provat.

Pinentry

Si vols que pinentry demani la frase de pas per terminal en comptes d'obrir una finestra, edita o crea .gnupg/gpg-agent.conf i afegeix o modifica el camp pinentry-program perque apunti a un binari no grafic. Idealment hauria de ser tty, pero si no hi es, pots provar curses:

pinentry-program /usr/bin/pinentry-tty

Hi ha un pinentry anomenat loopback que indicat en linia de comandes permet llegir la clau des d'un descriptor de fitxer, un fitxer o de la comanda mateix. La tercera es obviament insegura (es possible veure la clau amb ps) i la segona ho es forca (el fitxer es en disc) pero la primera pot ser molt util si l'origen de la clau es segur.

echo "clau" | gpg2 --pinentry-mode loopback --passphrase-fd 0 ...
gpg2 --pinentry-mode loopback --passphrase-file <fitxer> ...
gpg2 --pinentry-mode loopback --passphrase "clau" ...

L'exemple del primer cas indica el descriptor zero, que es STDIN.

gpg-agent

gpg-agent s'arrenca amb la sessio i controla les claus. Quan n'introdueixes una, la guarda en cache. Si vols buidar la cache, cal reiniciar-lo:

gpgconf --reload gpg-agent

Gestio de claus

Generacio

Pots generar un parell public/privat amb:

gpg2 --gen-key           # emprar valors per omisio
gpg2 --full-generate-key # entrar tots els valors

Els valors que demana en el primer cas son:

  • nom: el teu nom; per a coses privades jo poso el nom que vull donar a la clau per distingir-la de la resta
  • adreca: el teu correu electronic; per a coses privades jo poso oscar@clauo

Per exemple, per a la clau que genero per a password-store empro el nom password-store i l'adreca oscar@password-store,

Modificacio

Per modificar caducitats, frases de pas, etc. pots editar la clau:

gpg --edit-key <ID>

i llavors cridar diferents comandes. help mostra quines són possibles.

Llistat

Pots llistar totes les claus del keyring amb:

gpg2 --list-keys

Eliminacio

Per eliminar una clau secreta:

gpg2 --delete-secret-keys <ID>

i per eliminar-ne una de publica:

gpg2 --delete-key <ID>

Importacio i exportacio

Per importar una clau publica:

gpg2 --import <fitxer>

i per exportar-ne una (va a STDOUT, aixi que assegura't de redirigir la sortida):

gpg2 --export -a <ID> > <fitxer>

Encriptacio / desencriptacio de fitxers

Necessites la clau publica per encriptar i la privada per desencriptar. Encriptant amb la clau publica d'algu altre assegures que nomes aquesta persona pugui desencriptar el fitxer.

Per encriptar un fitxer:

gpg2 -e -r <ID> <fitxer>

Compte perque es genera fitxer.gpg pero no s'esborra fitxer. Cal esborrar-lo a ma.

Per desencriptar un fitxer (la clau privada ha de ser al keyring):

gpg2 -d <fitxer.gpg>

En aquest cas es genera fitxer pero no s'esborra fitxer.ggp.

Pots afegir -o <fitxer.gpg> o -o <fitxer> si vols indicar el nom del fitxer a generar.

Encriptacio simetrica

Si no vols emprar claus, pots encriptar el fitxer amb una frase de pas, que tambe sera necessaria per desencriptar. Es simetrica perque la mateixa frase de pas es fa servir per a totes dues operacions.

Per encriptar:

gpg -c <fitxer>

i per desencriptar, igual que en el cas assimetric:

gpg -d <fitxer.gpg>

Volver al inicio