<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
```
Aquest lloc web utilitza galetes per millorar l'experiència de l'usuari