<div class="page"> <div class="cover text-center"> <img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo"> # GnuPG <div class="text-end fit-content ms-auto my-3 mt-auto pt-3"> <p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p> <p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p> <p><strong>Curs:</strong> 2024/2025</p> </div> <div> <p class="fw-bold mb-0">Llicència: BY-NC-SA</p> <p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank"> <img class="mx-auto" src="/itb/images/license.png" alt="Licence"/> </a> </div><!--license--> </div><!--cover--> </div><!--page--> {:toc} # GnuPG GnuPG és una eina per encriptar i signar fixers. ## Encriptar fitxer amb contrasenya simètrica Esta comanda encriptarà un fitxer en binari: ```bash gpg -c secret_file.txt ``` Per encriptar un fitxer en ASCII (opció `-a`): ```bash gpg -c -a secret_file.txt ``` ## Desencriptar un fitxer Esta comanda desencriptarà un fitxer, independentment del format (binari o ASCII) o el mètode (simètric o asimètric): ```bash gpg -d secret_file.txt.asc ``` ## Generar claus Esta comanda generarà un parell de claus asimètriques per encriptar i signar. ```bash gpg --gen-key ``` Si a l'hora de crear les claus, vos apareix l'error: __gpg: no writable public keyring found: Not found__, segurament siga perquè el arxiu `~/.gnupg/pubring.kbx` pertanya al usuari `root`. Podeu borrar la carpeta i tornar a generar la clau: ```bash sudo rm -rf ~/.gnupg ``` ## Llista de claus Aquesta comanda mostrarà la llista de claus instal·lades en el anell de claus: ```bash gpg --list-keys ``` Per mostrar les claus públiques disponibles existeix la comanda: ```bash gpg --list-public-keys ``` ## Export Public Key Aquesta comanda exportarà una versió ASCII de la clau pública. ```bash gpg --output public.pgp --armor --export username@email ``` ## Export Secret Key Aquesta comanda exportarà una versió ASCII de la clau secreta privada. ```bash gpg --output private.pgp --armor --export-secret-key username@email ``` ## Import Key Aquesta comanda importarà la clau especificada: ```bash gpg --import public.pgp ``` ## Encriptar fitxer amb clau pública Per encriptar en ASCII un fitxer amb una clau pública: ```bash gpg -a --recipient name@email.org -e secret_file.txt ``` ## Signar un fitxer Aquestà comanda signarà digitalment un fitxer, on la signaturà apareix en binari: ```bash gpg -s file.txt ``` Per què la signatura siga ASCII, es pot signar de la següent manera: ```bash gpg --clearsign file.txt ``` Amb qualsevol de les comandes anteriors, es pot utilitzar l'opicó `-o` per indicar el nom i la ruta del fitxer signat: ```bash gpg -o signed_file.txt --clearsign file.txt ``` ## Verificar una signatura d'un fitxer Aquestà comanda verificarà la signatura digital d'un fitxer, on la signaturà apareix en binari: ```bash gpg -v file.txt.sig ``` Si es vol verificar una signatura ASCII: ```bash gpg --verify file.txt.sig ```