aboutsummaryrefslogtreecommitdiff
path: root/source/notes/2016-09-08-gpg.md
blob: edeeec149078041e468382dd184269d1235ef228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
title: "gpg"
date: 2016-09-08T09:14:00
date_display: Sep 08, 2016
---

Commande de base : `gpg2`

# Création d'une pair de clé 

Génération de la clé : `gpg2 --full-gen-key` ou simplement `gpg --gen-key` si la première n'est pas disponible sur le système

Pour aider la génération de nombres aléatoire : `find ~/ -type f | xargs grep randomstring &> /dev/null`

Export des clés, privées puis publiques : `gpg2 --export-secret-keys --armor <figerprint> > private.asc` puis `gpg2 --export <figerprint> > public.asc`

Importation des clés, privées puis publiques : `gpg2 --allow-secret-key-import --import privkey.asc` puis `gpg2 --import pubkey.asc`

Et pour finir on trust la clé privée : `gpg2 --edit-key <fingerprint>`

Pour la partager sur un serveur, dans ce cas il s'agit de sks.srv.dumain.com:11371 : `gpg2 --keyserver sks.srv.dumain.com:11371 --send-key <figerprint>`

Pour choisir un serveur => [https://sks-keyservers.net/status/](https://sks-keyservers.net/status)

Chercher une clé sur le net : `gpg --keyserver sks.srv.dumain.com:11371 --search-keys <figerprint>`

Importer une clé depuis internet : `gpg2 --recv-keys <figerprint>`

Rafraichir la liste de clé (Pourquoi ? => [https://futureboy.us/pgp.html#UpdatingKeys](https://futureboy.us/pgp.html#UpdatingKeys)) : `gpg --refresh-keys`

Some documention :

- [https://futureboy.us/pgp.html](https://futureboy.us/pgp.html)

# Signer un fichier 

Signer un fichier : `gpg2 --sign --detach-sign,<file>`

Vérifier la signature : `gpg2 --verify <file>.sig <file>`

## Chiffrer un fichier

Chiffrer un fichier : `gpg2 --encrypt --recipient <key_ID> <file>` (--recipient est le destinataire, il possible de mettre plusieurs destinataire)

Déchiffrer : `gpg2 --decrypt <file>.gpg`