Linux:GnuPG et OpenPGP Card
Sommaire |
GnuPG
Petit listing des principales commandes de gnupg :
créer le dossier .gnupg et le fichier de base options :
gpg
recherche les clefs publiques au nom de dupont dans le serveur par défaut du fichier de configuration .gnupg/gpg.conf :
gpg --search-keys dupont
en précisant le serveur :
gpg --keyserver pool.sks-keyservers.net --search-keys dupont
pour générer sa clef :
gpg --gen-key
lister les clefs :
gpg --list-key
créer un certificat de révocation :
gpg --gen-revoke XXXXXXXX> .gnupg/revoke_XXXXXXXX # remplacer XXXXXXXX par les 8 chiffres/caractères de la ligne pub retournée par la commande : gpg --list-key
exporter votre clefs en ascii :
gpg --export -a adresse@email>.gnupg/djj-pubkey.asc
éditer une clef pour par exemple rajouter une adresse email à celle-ci :
gpg --edit-key XXXXXXXX Command> apparaît, adduid pour ajouter la nouvelle adresse, enfin save pour terminer
voir l'emprunte des clefs de son trousseau :
gpg --fingerprint
envoyer une clef sur un serveur public :
gpg --keyserver pgp.mit.edu --send-key XXXXXXXX
recevoir une clef d'un serveur public :
gpg --keyserver pgp.mit.edu --recv-key XXXXXXXX
Signer des clefs :
gpg --sign-key XXXXXXXX : permet de signer la clef publique d'une personne après avoir vérifié physiquement son identité exportez ensuite sa clef avec la commande ci-dessus pour lui fournir la clef signée. il suffit à cette personne d'utiliser la commande gpg --import fichierclefsigne pour mettre à jour dans son trousseau de clefs puis elle peut ensuite la publier sur le serveur public.
gpg --list-sigs XXXXXXXX : lister les signatures d'une clef
OpenPGP Card
La carte : http://www.g10code.com/p-card.html
La doc d'utilisation de GnuPG avec une OpenPGP Card : http://www.gnupg.org/documentation/howtos.html#GnuPG-cardHOWTO
Branchement d'un lecteur Sim Card Stick USB :
[17718.388025] usb 5-1: new full speed USB device using ohci_hcd and address 6 [17718.616724] usb 5-1: New USB device found, idVendor=04e6, idProduct=5117 [17718.616729] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5 [17718.616732] usb 5-1: Product: SCR3320 - Smart Card Reader [17718.616735] usb 5-1: Manufacturer: SCM Microsystems Inc. [17718.616738] usb 5-1: SerialNumber: 21120747300908 [17718.616841] usb 5-1: configuration #1 chosen from 1 choice
Premier lancement
- gpg --card-status
djj@tortuegeniale:~$ gpg --card-status Application ID ...: D2760001240102000005000002400000 Version ..........: 2.0 Manufacturer .....: ZeitControl Serial number ....: 00000240 Name of cardholder: [non positionné] Language prefs ...: de Sex ..............: non spécifié URL of public key : [non positionné] Login data .......: [non positionné] Private DO 1 .....: [non positionné] Private DO 2 .....: [non positionné] Signature PIN ....: forcé Key attributes ...: 2048R 2048R 2048R Max. PIN lengths .: 32 32 32 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]
Codes PIN
La carte dispose de deux PIN : le PIN et l'AdminPIN. L'AdminPIN permet de débloquer le PIN si 3 erreurs ont eu lieu. Attention l'AdminPIN est limité à 3 essais définitivement, en cas d'erreur, la carte devient inutilisable.
Pour changer les PIN :
djj@tortuegeniale:~$ gpg --change-pin gpg: carte OpenPGP n° D2760001240102000005000002400000 détectée 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Votre choix ?
Par défaut les valeurs sont 12345678 pour l'AdminPIN et 123456 pour le PIN.
Modification des informations de la carte
- gpg --card-edit
Cette commande renvoie le même résultat que --card-status puis un prompte :
Commande>
Commande> help quit quitter ce menu admin indiquer les commandes d'administration help afficher cette aide list lister toutes les données disponibles fetch aller chercher la clé spécifiée dans l'URL de la carte passwd menu pour changer ou déverrouiller le PIN verify vérifier le code PIN et lister toutes les données unblock unblock the PIN using a Reset Code
Commande> admin Les commandes d'administration sont permises Commande> help quit quitter ce menu admin indiquer les commandes d'administration help afficher cette aide list lister toutes les données disponibles name changer le nom du propriétaire de la carte url changer l'URL pour récupérer la clé fetch aller chercher la clé spécifiée dans l'URL de la carte login changer le nom d'identification lang changer les préférences de langue sex changer le sexe du propriétaire de la carte cafpr changer l'empreinte d'une autorité de certification forcesig inverser le paramètre obligeant à rentrer le code PIN pour les signatures generate générer de nouvelles clés passwd menu pour changer ou déverrouiller le PIN verify vérifier le code PIN et lister toutes les données unblock unblock the PIN using a Reset Code
Exemple de modification, changeons le nom du porteur de la carte :
Commande> name Nom du déteneur de la carte: Lemaire Prénom du déteneur de la carte: Jerome Commande> list Application ID ...: D2760001240102000005000002400000 Version ..........: 2.0 Manufacturer .....: ZeitControl Serial number ....: 00000240 Name of cardholder: Jerome Lemaire
La clef et ses sous-clefs
Personnellement, ma clef est en DSA, il n'est donc pas possible de l'importer sur la carte. Pour cela il faut une clef RSA, si c'est votre cas, vous pouvez l'importer en suivant http://www.gnupg.org/howtos/card-howto/en/ch05.html
Par contre, il est possible de créer des sous-clefs (subkey). Pour cela, éditer votre clef :
djj@tortuegeniale:~$ gpg --edit-key 42AE6156
Commande> addcardkey
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
Sélectionnez le type de clé à générer:
(1) Clé de signature
(2) Clé de chiffrement
(3) Clé d'authentification
Votre choix ? 1
Please enter the PIN
What keysize do you want for the Signature key? (2048) 1024
The card will now be re-configured to generate a key of 1024 bits
NOTE: There is no guarantee that the card supports the requested size.
If the key generation does not succeed, please check the
documentation of your card to see what sizes are allowed.
gpg: size of key 1 changed to 1024 bits
Key is protected.
Vous avez besoin d'une phrase de passe pour déverrouiller la
clé secrète pour l'utilisateur: « Jerome Lemaire <jerome.lemaire@itenec.com> »
clé de 1024 bits DSA, ID 42AE6156, créée le 2006-09-06
Spécifiez combien de temps cette clé devrait être valide.
0 = la clé n'expire pas
<n> = la clé expire dans n jours
<n>w = la clé expire dans n semaines
<n>m = la clé expire dans n mois
<n>y = la clé expire dans n années
La clé est valide pour ? (0)
La clé n'expire pas du tout
Est-ce correct ? (o/N) o
Créer vraiment ? (o/N) o
gpg: générer une nouvelle clé
gpg: 3 tentatives de PIN admin restent jusqu'à ce que la carte
soit irrémédiablement bloquée
Please enter the Admin PIN
gpg: attendez que la clé se génère...
gpg: la génération de clé a été effectuée (2 secondes)
gpg: signatures créées jusqu'ici: 0
Entrez le PIN
[sigs faites: 0]
gpg: signatures créées jusqu'ici: 1
pub 1024D/42AE6156 créé: 2006-09-06 expire: jamais utilisation: SC
confiance: ultime validité: ultime
sub 2048g/0323AB8E créé: 2006-09-06 expire: jamais utilisation: E
sub 1024R/4A77192D créé: 2010-03-13 expire: jamais utilisation: S
[ ultime ] (1). Jerome Lemaire <jerome.lemaire@itenec.com>
[ ultime ] (2) Jerome Lemaire (djj) <jerome.lemaire@dj-j.net>
Recommencer pour les deux autres types de clefs puis sauvegardez :
Commande> save
djj@tortuegeniale:~$ gpg --edit-key 42AE6156
gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
La clé secrète est disponible.
pub 1024D/42AE6156 créé: 2006-09-06 expire: jamais utilisation: SC
confiance: ultime validité: ultime
sub 2048g/0323AB8E créé: 2006-09-06 expire: jamais utilisation: E
sub 1024R/42B9B4DF créé: 2010-03-13 expire: jamais utilisation: E
sub 1024R/4A77192D créé: 2010-03-13 expire: jamais utilisation: S
sub 1024R/307683A4 créé: 2010-03-13 expire: jamais utilisation: A
[ ultime ] (1). Jerome Lemaire <jerome.lemaire@itenec.com>
[ ultime ] (2) Jerome Lemaire (djj) <jerome.lemaire@dj-j.net>
Résultat sur la carte :
djj@tortuegeniale:~$ gpg --card-status
Application ID ...: D2760001240102000005000002400000
Version ..........: 2.0
Manufacturer .....: ZeitControl
Serial number ....: 00000240
Name of cardholder: Jerome Lemaire
Language prefs ...: fr
Sex ..............: masculin
URL of public key : [non positionné]
Login data .......: djj
Private DO 1 .....: [non positionné]
Private DO 2 .....: [non positionné]
Signature PIN ....: forcé
Key attributes ...: 1024R 1024R 1024R
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 2
Signature key ....: 08C4 ...
created ....: 2010-03-13 19:36:03
Encryption key....: D295 ...
created ....: 2010-03-13 19:34:54
Authentication key: A3BE ...
created ....: 2010-03-13 19:36:41
General key info..: pub 1024R/4A77192D 2010-03-13 Jerome Lemaire <jerome.lemaire@itenec.com>
sec 1024D/42AE6156 créé: 2006-09-06 expire: jamais
ssb 2048g/0323AB8E créé: 2006-09-06 expire: jamais
ssb> 1024R/42B9B4DF créé: 2010-03-13 expire: jamais
n° de carte: 0005 00000240
ssb> 1024R/4A77192D créé: 2010-03-13 expire: jamais
n° de carte: 0005 00000240
ssb> 1024R/307683A4 créé: 2010-03-13 expire: jamais
n° de carte: 0005 00000240
GnuPG et son utilisation au quotidien (logiciels)
- Pour votre client de messagerie Thunderbird, il faut télécharge le module Enigmail (http://enigmail.mozdev.org).

