Introduction
PGP est l'acronyme de Pretty Good Privacy, que l'on peut traduire par "Plutôt Bonne Confidentialité" et qui fait référence à l'une des applications de cryptographie les plus populaires dans le monde informatique.
PGP est l'outils appropriés pour garantir la confidentialité et l'autentification d'informations sur des réseaux non sécurisés comme Internet.
La confidentialité garantie que seul le destinataire de cette information peut en faire usage. Si cela n'était pas le cas; elle serait inutile car elle ne pourrait pas être décodé.
L' autentification garantie qu'une information générée par la personne "A" vient bien de "A" et n'a pas été falsifiée par quelqu'un d'autre en chemin.
PGP est basé sur un système cryptographique nommé clef publique, qui peut être utilisé sur des canaux non sécurisés. Cela le rend idéal pour garantir la confidentialité d'informations transmises sur des réseaux comme Internet.
Il n'est pas nécessaire d'être mouillé dans un gros complot d'espionnage industriel :) pour être interessé par la confidentialité de ses communications et par conséquent d'avoir besoin d'un outil de cryptographie. Quelque chose d'aussi simple que le courrier électronique (E-mail) peut être une raison suffisante pour commencer à utiliser PGP. Voyons pourquoi:
- On peut comparer le courrier électronique à des cartes postales.
Toute personne qui l'a entre les mains peut la lire car il n'y a aucun obstacle pour l'en empêcher.
Par contre, une lettre dans une enveloppe est plus discrète. On peut manipuler l'enveloppe mais
on ne peut pas lire la lettre. Si quelqu'un veut la lire, il doit décacheter l'enveloppe.
- On peut établir une comparaison entre nos enveloppes et PGP, qui agit comme un support pour notre E-Mail.
PGP n'autorise à personne excepté le destinataire légitime de lire le message;
c'est un des nombreux avantages de PGP.
Comment fonctionne la Cryptographie à Clef Publique
Dans les sytèmes avec une clef publique, tous le monde a deux clefs complémentaires;
l'une est la clef publique et l'autre la clef privée.
La clef publique peut et doit être diffusée librement,
puisque c'est avec cette clef que le reste du monde pourra vous envoyer des information privées.
Quoiqu'il arrive, la connaissance de la clef publique ne met pas en danger la discrétion
de la clef privée.
Considérons le cas de deux amis, Jean et Pierre. Jean sera capable d'envoyer des informations privée
à Pierre s'il connait sa clef publique. De l'autre coté, Pierre pourra, avec sa clef privée,
décoder le message que Jean vient d'envoyer. Supposons qu'une autre personne, Marc, intercepte le message
que Jean a envoyé à Pierre. Marc ne sera pas capable d'exploiter le message car il n'a pas la clef
privée de Pierre. Même Jean lui même, l'expéditeur et le créateur du message,
n'est pas capable de le décoder. Seul Pierre le peut avec la clef privée.
La sécurité d'un tel système est basée sur la façon dont chaque utilisateur sauvegarde de manière sûre sa clef privée, même si sa clef publique est largement connue . Si quelqu'un essaye de casser le code, sans connaître la clef privée du destinataire, cela prendra tellement d'année que ce sera inutile.
Comme nous l'avons dit précédemment, en plus de la discrétion, PGP offre aussi la possibilité d'autentifier l'information. Voyons pourquoi:
Notre clef privée n'encode pas seulement les messages, mais elle peut aussi " signer " l'information envoyée; d'une manière analogue aux signatures souvent ajoutées sur des documents en papier.
Un document signé digitalement sans clef privée peut être autentifié par n'importe quel possesseur de clef publique. Cette autentification fournit le moyen de vérifier que le document vient effectivement de la personne qui déclare l'avoir envoyé et qu'il n'a pas été altéré ni falsifié.
Les deux procédés, encodage et signature, permettent d'obtenir la discrétion et l'autentification. D'abord le document est signé avec notre clef privée puis il est encodé avec la clef publique du destinataire.
Quand le destinataire reçoit le message, il inverse ces étapes, d'abord en décodant le document avec sa clef privée puis en vérifiant la signature de l'emmetteur avec sa clef publique.
Tous ces processus peuvent être automatisés comme nous le verrons plus loin.
Une clef publique est stockée dans ce qui est appelé un Certificat . Il s'agit tout simplement de la clef publique associée avec le nom du propriétaire et de la date à laquelle il a été généré.
La clef privée est protégée par un mot de passe qui interdit son utilisation par autrui.
Les deux clefs sont stockées dans un fichier appelé Anneau (key ring) qui contient aussi divers certificats. Normalement il y a un anneau pour les clef publiques et un autre pour les clefs privées.
Les clefs sont référencées en interne par un Identificateur (key ID) qui est constitué des 64 derniers bits de la clef. En affichant les informations de la clef, ce qui apparaît sont en fait les 32 derniers bits de la clef. Ces identificateurs seront utilisé par PGP, par exemple, pour rechercher la clef au moment de décoder un message.
En signant un document, PGP génère 128 bits qui représentent le document. Cette signature est une sorte de checksum ou de CRC qui lui permettent de détecter des changements dans le document. Contrairement aux CRC ou checksum habituels, aucun imposteur ne peut regénérer cette signature pour rendre légitimes les changements effectués sur le document original. La signature est réalisée à l'aide de la clef privée de l'expéditeur et l'imposteur n'y a normalement pas accès.
Les Versions de PGP
Maintenant que vous savez à quoi sert PGP, vous voudrez surement commencer à l'utiliser tout de suite.
Remarquons qu'il existe une grande confusion autour des différentes versions de PGP. A cause de la politique des Etats-Unis liée à l'exportations des moyens de crytographie, différentes versions de PGP sont apparues ainsi que plusieurs loi liées à leurs utilisations. Afin de rendre tout ce bazar aussi clair que possible, j'énumèrerai les différentes versions de PGP disponibles aujourd'hui.
Versions gratuites de PGP:
C'est le PGP " Classique ". Il peut toujours être utilisé bien qu'il soit possible de rencontrer des problèmes d'incompatibilités en traitant des clefs et des messages générés avec les versions 2.6.x ou ultérieures, ou en utilisant des clefs supérieures à 1280 bits. PGP 2.3a ne peut pas être utilisé en dehors de Etats-Unis à cause de restrictions dans le brevet.
C'est la version non officielle de PGP 2.3a qui corrige le problème d'incompatibilité mentionné précédement. Cette version n'est pas une 2.6.x car elle est basée sur les sources de la 2.3a
Elle est basée sur les sources de la 2.6ui et c'est une modification qui vise à être
compatible avec les dernières innovations introduites dans les versions 2.6.x.
C'est la dernière version officielle de PGP. Ses messages peuvent être lus
par les versions antérieure à 2.5 et elle utilise la bibliothèque de codage RSAREF.
Il est illégal de l'exporter en dehors des Etats-Unis mais curieusement, une fois exportée
peut être utilisée librement.
Basée sur les sources de MIT PGP 2.6.2 qui ont été modifiés pour une
utilisation internationale. Un des changements apporté est la suppression de la bibliothèque
de codage RSAREF mentionnée ci-dessus. L'utilisation de cette version aux Etats-Unis est illégale.
PGP 5.0 (connue précédemment sous le nom de PGP 3.0) est une version complètement nouvelle de PGP.
Ses sources ont été réécrits complètement. Elle ajoute de nouvelles options, y compris le support d'autres algorithme de cryptage en plus de RSA et IDEA. Elle comprendra une interface graphique pour simplifier son utilisation. Cette version sera disponible cet été.
Versions Commerciales de PGP (seulement pour les USA et le Canada):
- ViaCrypt PGP 2.7.1 et 4.0
Etant commerciale, elle comprend un manuel et une license individuelle d'utilisation. Elle ne contient pas les sources.
En Juin 1996 PGP Inc. achète ViaCrypt et commence à développer une version commerciale de PGP pour les USA et le Canada. La version la plus récente est PGPMail 4.5.
Dans notre cas, si nous sommes en dehors des USA, la version à utiliser sera la 2.6.3i, et si nous sommes aux USA il faut choisir entre la 2.6.2 ou la 2.6.3.
Il faut signaler que certains pays comme la France, l'Iran, l'Iraq, la Russie et la Chine l'utilisation de moyens cryptographiques est soumis à autorisation ou interdit.
Quelques liens interressants pour obtenir la version 2.6.3i pour diverses distributions de Linux:
Installation de PGP
Disons que vous avez obtenu PGP.Supposons que vous avez maintenant sur votre disque dur un fichier appellé pgp263is.tar.gz
la première étape consiste à créer un répertoire pour les sources :
mkdir pgp
Ensuite décompressez le fichier d'archive :
tar -C ./pgp -xzvf pgp263is.tar.gz
Maintenant aller dans le nouveau répertoire :
cd pgp
Ensuite, décompressez le fichier pgp263ii.tar qui contient la documentation et le même code source pour le programme. Pour cela exécutez:
tar -xvf pgp263ii.tar
À ce point vous êtes prêt à compiler PGP. Si vous n'avez pas téléchargé les sources, mais une version compléte
(soit a.out soit ELF) vous pouvez oublier cette étape. Si vous avez déjà les sources, la compilation peut-être réalisée
avec les commandes suivantes :
cd src
make linux
Si tout se passe bien le makefile aura créé un exécutable de PGP. Dans le cas d'une installation globale vous pouvez le copier ou vous préférez (/usr/local/bin, /usr/bin). Autrement vous pouvez le laisser dans votre répertoire personnel.
De la même manière on peut copier la page du manuel de PGP pgp.1 vers /usr/man/man1 dans le cas d'une installation système.
Configuration de base
Par défaut PGP utilise le répertoire ~/.pgp pour trouver la clé et les fichiers de configuration,
ainsi la première étape consiste à créer ce répertoire dans votre répertoire HOME :
cd
mkdir .pgp
Faites attention aux fichiers de la distribution et vous trouverez un fichier nommé config.txt qui sert à configurer certains aspects de PGP. Afin d'avoir une configuration personnalisée vous devez copier ce fichier dans votre répertoire nouvellement créé ~/.pgp
Au lieu de ~/.pgp/config.txt vous pouvez le renommer .pgprc et le sauver dans votre répertoire personnel, qui est ~/.pgprc
Entre autres, ce fichier peut spécifier le langage à utiliser avec le paramètre Language,
les possibilités sont:
Language = en (Englais)
Language = es (Espagnol)
Language = ja (Japonais)
Il y a d'autres paramètres dans le fichier. Pour pouvoir profiter de cette option vous devez copier le fichier
language.txt vers ~/.pgp .
Une autre étape recommandée, est de copier le fichier personnalisé d'aide pour votre langage vers ~/.pgp.
Dans le cas des utilisateurs parlant espagnol on copiera le fichier es.hlp
Créer une paire de clefs
Pour commencer à utiliser PGP on doit créer sa propre paire de clefs (public/privé).
Pour cela exécutez la commande:
pgp -kg
Il faudra choisir la taille maximum de la clé (512,768 ou 1024 octets), plus grande est la clef meilleure est la sécurité obtenue au détriment une petite perte de vitesse.
Après avoir choisi la taille de la clef, vous devrez taper un identifiant pour la clé publique. D'habitude les gens écrivent leur nom, ou leur adresse EMAIL. Dans mon cas j'ai écrit :
Angel Lopez Gonzalez <alogo@mx2.redestb.es>
Ensuite vient le mot de passe pour protéger votre clef privée. Choisissez une phrase facile à retenir.
Ceci est nécessaire pour protéger votre clé privée, de telle sorte que, si quelqu'un la vole, elle ne sera pas
utilisable sans le mot de passe.
Finalement le programme demande de taper aléatoirement sur des touches du clavier afin de générer une séquence
de nombres aléatoires. Le programme basera à sa séquence de bit sur l'intervalle entre les frappes sur le clavier.
PGP génèrera les clefs après quelques secondes et vous en informera avec un message. Après une génération correcte des clefs elle devrait se trouver dans le répertoire ~/.pgp . Comme les fichiers suivants :pubring.pgp et secring.pgp
Le premier, pubring.pgp
Le second, secring.pgp est, comme vous pouvez l'imaginer, le fichier de vos clefs privées qui ne contient que votre clé privée pour l'instant.
Il faut se rappeler que toute la sécurité de la méthode des clefs publiques et basée sur le secret de la clé privée;
par conséquent, soyez certains de la conserver dans un endroit où personne d'autre ne peut accéder.
Vérifier les permissions de ce fichier et assurez vous que vous avez seul l'accès en lecture et en écriture,
et personne d'autre.
Finalement on peut noter qu'à la fois l'identification des clefs et le mot de passe de la clef privée peuvent être changés en utilisant la commande :
pgp -ke identifiant [anneau]
Ajouter des clefs à un anneau
À ce point vous souhaitez sûrement commencer à ajouter les clefs de vos amis à votre anneau. Pour cela vous devez dans un premier temps récupérer les clés depuis: un serveur de clefs ; directement depuis la personne en question ; utiliser finger sur leur compte personnel ; par courrier électronique, etc. ... Rappelons que la clef publique peut être distribué librement et qu'il n'y a pas besoin de la transmettre au travers d'un canal sécurisé, comme c'est le cas avec les méthodes de cryptographie basées sur une clef unique.
Si le fichier Somekey.pgp contient une clef et que vous voulez l'ajouter à votre anneau la procédure est assez simple, exécutez :
pgp -ka Somekey [ring]
Par défaut la terminaison .pgp indique un fichier avec une clef, et les noms pubring.pgp et
secring.pgp sont assignées aux fichiers qui contiennent les clefs publiques et privées respectivement.
Quand une clef est ajouté, PGP peut vous informer que la clef ajoutée n'est pas complètement certifié;
ce qui signifie que la clef en votre possession peut effectivement appartenir à son utilisateur ou non.
S'il est certain que la clef appartient vraiment à son véritable propriétaire, soit parce qu'il vous l'a donnée
lui même ou parce qu'il vous l'a transmise par un canal sécurisé, alors elle peut être certifié par l'utilisateur lui même. Ceci implique que nous mettons notre signature sur cette clef comme preuve de certification.
Ceci facilite le passage de notre clef à une personne qui nous fait confiance et qui a une absolue certitude que nous lui transmettons une clef authentique.
Il y a même un nom pour ce procédé, web trust. Aux États-Unis il y a même des rassemblements d'utilisateurs
PGP qui échangent des clefs publiques et les signent :)
Considérons un exemple avec des noms pour rendre ce concept clair. Soit encore deux amis, Jean et Pierre. Jean donne sa clef publique à Pierre. Pierre est sûr que la clef que Jean lui a donné est correcte puisqu''ils se font confiance. Quand il rentre chez lui et qu'il ajoute sa clef à son anneau de clefs publiques il peut alors certifier que le la clef appartient vraiment à Jean, il la signe alors avec sa propre clef privée.
Maintenant deux autres personnages entrent en scène: Louis et Marie. Louis reçoit de Pierre la clef de Jean et plus tard Louis l'envoi à Marie. Marie n'a pas confiance en Louis mais elle voit que la clef de Jean est signée par Pierre. Marie peut vérifier la clef publique de Jean grâce à la signature de Pierre. Elle a la clef publique de Pierre parce qu'il lui a donné en main propre, ainsi maintenant elle peut faire confiance à la clef de Louis en vérifiant l'authenticité de la signature de Pierre. Ici nous voyons comment Marie peut maintenant utiliser et faire confiance à la clef qui lui a été donné par une personne non fiable comme Louis.
C'est compliqué mais nécessaire afin de protéger le seul point faible de ce type de cryptographie : le fait que la clef publique puisse être falsifiée.
Supprimer des clefs d'un anneau
Maintenant que nous savons comment ajouter des clef à un anneau ,pour continuer notre petit guide,
nous allons montrer comment les enlever. Ceci peut être fait avec cette commande :
pgp -kr identifiant [anneau]
Par example: "pgp -kr jean " enlevera toutes les clefs qui contiennent "jean" quelque part
dans l'identifiant. Par défaut, l'anneau inspecté est l'anneau publique.
Extraire une clef
Après avoir sauvegardé des clef de vos amis dans votre anneau publique, envoyons leur votre clef publique. D'abord elle doit être extraite de l'anneau :
pgp -kx fichier identifiant [anneau]
Par exemple : "pgp -kxa angele mykey" extrait la clef publique identifiée par la sous-chaîne "Angele" vers le fichier mykey.pgp
Le fichier généré n'est pas au format ASCII (essayez cat pour le voir).
Toutefois, si on veut un fichier au format ASCII pour pouvoir l'envoyer par courrier électronique,
par exemple, ou pour y ajouter des informations à une base de données, on tapera:
pgp -kxa fichier identifiant [anneau]
Par exemple : "pgp -kxa angele mykey" extrait la clef publique identifiée par la sous-chaîne "Angele" vers le
fichier "mykey.asc".
En même temps que la clef toutes les certifications sont extraites avec elle.
Contenu de l'anneau
Pour afficher les clefs contenues dans un anneau, taper la commande:
pgp -kv [identifiant] [anneau]
Ici encore l'anneau par défaut et pubring.pgp, l'anneau publique. Si aucun identifiant n'est donnée explicitement, toutes les clefs de l'anneau sont affichées.
Afin de voir tous les certificats pour chaque clef, utiliser :
pgp -kvv [identifiant] [anneau]
Encoder un message
Nous avons vu comment utiliser les clefs, voyons maintenant quelque chose d'intéressant. Voyons comment encoder un fichier:
pgp -e fichier identifiant
Voici un exemple : un professeur veut envoyer à son collègue un examen par courrier électronique, et il veut l'encoder afin qu'aucun étudiant ne puisse l'intercepter. Disons que le nom du 2ème professeur est Marc et que l'identifiant de sa clef publique contient son nom. Notre premier professeur tapera alors :
pgp -e exam.doc marc
Cette commande génère un fichier avec le nom "exam.pgp" qui contient le fichier "exam.doc" encodé de telle sorte que seul Marc puisse le décoder avec sa clef privée.
Rappelez-vous que le fichier généré, n'est pas un fichier texte, par conséquent pour des raisons de courrier électronique il serait préférable d'ajouter une option supplémentaire -a, de telle sorte que le fichier fichier encodé soit au format texte, comme ceci :
pgp -ea exam.doc marc
Pour des raisons de sécurité de nous voulons parfois détruire le fichier original. PGP peut faire cela automatiquement avez l'option -w :
pgp -eaw exam.doc marc
Encoder un message pour plusieurs destinataires
Imaginez maintenant que notre professeur veuille envoyer son examen à ses collègues de département. Pour cela il a seulement à taper plusieurs identifiants au lieu d'un seul :
pgp -ea exam.doc marc jean alice
Noter que l'option -a a été aussi utilisée ici ici afin que le fichier soit au format texte c'est-à-dire approprié pour le courrier électronique.
Comment signer un message
Comme nous l'avons dit auparavant, la signature digitale dans un message est l'équivalent d'une signature commune sur papier. Signer un document autorisera le destinataire a vérifier que le message n'a pas été altéré et qu'il est authentique.
Pour signer un document il est nécessaire d'utiliser notre clef privée :
pgp -s fichier [-u identifiant]
Si nous avons plusieurs clefs privées dans notre anneau secret nous pouvons en choisir une par son identifiant.
Quand notre professeur de l'exemple décide de signer l'examen pour ses collègues sachent que le message ne vient
pas d'un étudiant blagueur il tape la chose suivante :
pgp -s exam.doc
Cette commande génère un fichier nommé "exam.doc.pgp" qui n'est pas en format texte parce que PGP essaie de décompressez le fichier. Si d'un autre côté vous souhaitez signer un document tout en laissant le texte lisible avec votre signature à la fin la procédure devient alors: nbsp;
pgp -sta exam.doc
Cette dernière commande est très utile pour signer du courrier électronique qui est toujours lisible par ceux qui ne possèdent pas PGP ou par ceux qui ne souhaitent pas vérifier les signatures.
Il est aussi possible de signer un document puis de l'encoder en utilisant la commande suivante :
pgp -es fichier identifiant_du_destinataire
[-u mon_identifiant]
Par exemple:
pgp -es exam.doc marc -u angel
Il encode et signe le fichier "exam.doc", générant le fichier "exam.pgp". La clef publique utilisée
pour encoder le fichier et celle identifiée par la chaîne "Marc" de telle sorte que seul l'utilisateur
de cette clef puisse le décoder. Ensuite elle identifie ma clef privée avec la chaîne "Angel" parce
que dans mon anneau j'ai plusieurs clefs.
Même dans ce cas un fichier texte peut être généré en utilisant l'option -a.
Une autre possibilité intéressante serait de générer un fichier de signature séparément des données. Pour cela, utiliser l'option -b:
pgp -sb exam.doc
Cette commande et génère un nouveau fichier "exam.sig" qui contient seulement la signature.
Décodage
Pour décoder un fichier et vérifier les signatures qu'il contient, utiliser la commande :
pgp fichier_d_entrée [-o fichier_de_sortie]
Par défaut on suppose que le fichier d'entrée à la terminaison ". pgp". Le fichier de sortie est optionnel et ne contiendra que le fichier décodé. Si aucun fichier de sortie n'est spécifiée, le fichier décodé est sauvé dans le fichier d'entrée sans l'extension pgp.
Toutefois, après avoir décodé un fichier nous pouvons aussi demander la sortie standard pour ce fichier. On obtient ceci avec l'option -m:
pgp -m fichier
Il y a une autre possibilité ; utiliser l'entrée et la sortie avec des pipeline grâce à l'option -f:
pgp -fs identifiant < input_fichier_d_entrée fichier_de_sortie
Un autres scénario intéressant et quand nous souhaitons décoder un message signé que l'on a reçu mais dont nous voulons garder la signature parce que nous sommes intéressés pour le ré-encodé pour le renvoyer à une troisième personne, pour cela à utiliser l'option -d:
pgp -d exam
Ceci transformera le fichier "exam.pgp" et le decodera mais laissera la signature originale dans le fichier. Maintenant nous pouvons décoder un fichier avec la clef publique pour une troisième personne qui à sa réception, vérifiera l'authenticité du message original.
Manipuler des fichiers texte
Fréquemment, PGP est utilisé pour encoder du courrier électronique, ce qui est très souvent, du texte.
Un problème avec les fichiers textes est qu'ils sont souvent représentés de manière différente sur des machines différentes;
par exemple avec MSDOS toutes les lignes se termine avec un retour chariot et un saut de ligne ;
avait Linux seulement un saut de ligne, avec Macintosh, seulement un retour chariot ... Etc..
Pour éviter les problèmes et les incompatibilités de plate-forme nous pouvons dire à PGP que
nous souhaitons encoder un fichier texte plutôt qu'un fichier binaire de telle sorte qu'en le décompressant,
il s'adaptera aux particularités de l'environnement cible.. Pour encoder un fichier texte pour le courrier électronique
avec cette option, utilisez -t. Par exemple:
pgp -sta fichier_texte identifiant
"Empreintes digitales"
Une empreinte digitale est une séquence de 16 octets qui identifie uniquement une clef. Un peut vérifier que l'on possède la clef correcte d'une personne en testant ces 16 octets au lieu des 1024 qu'une clef contient.
Pour afficher une empreinte digitale, utiliser la commande :
pgp -kvc identifiant [anneau]
L'utilisation de PGP dant les scripts
PGP possède des options particulièrement pratiques pour son utilisation dans les scripts automatiques.
+batchmode
Avec cette option PGP ne demandera rien d'absolument nécessaire. Utiliser cette option pour vérifier une signature automatiquement. Qu'en le fichier n'a pas de signature le code de retour est 1; si le fichier à une signature et qu'elle est correcte le code retourné et 0.
pgp +batchmode file
force
Cette option force toute opération d'écriture de fichiers ou de destruction de clefs.
pgp +force +kr marcos
À l'intérieur d'un script il est utile que PGP ne demande pas les mots de passe quand on encode un fichier. Par exemple, pour éviter d'avoir à fournir des mots de passe pendant la phase d'encodage, on peut programmer la variable d'environnement PGPPASS.
Voici un exemple:
PGPPASS="password"
export PGPPASS
pgp -s fichier.txt marc
Une autre façon de court-circuiter le mot de passe d'une façon non interactive et d'utiliser l'option -z
Voici comment:
pgp -sta exams.txt angel -z "password"
Une autre opération utile dans les scripts et de faire fonctionner PGP en mode +verbose. Ceci installe un mode silencieux -- c'est-à-dire qu'il n'y aura aucun message informatif, seulement des erreurs:
pgp fichier.pgp +verbose=0
Intégration avec les lecteurs de courrier
Intégrer PGP avec des lecteurs de courrier pour encoder, décoder et signer du courrier automatiquement,
est simple, et dépend très peu du lecteur que nous utilisons.
A titre d'exemple, je vais expliquer l'intégration de PGP avec Pine.
Bien sûr,c'est le lecteur de courrier que vous utilisez.
Bien que je vais décrire comment on travail avec PGP , les principes derrière ces étapes peuvent être appliqués à tous les autres lecteurs de courrier. Les options de configurations seront,bien sur, différentes pour d'autres programmes de courrier.
Afin de décoder du courrier automatiquement avant de le lire, on a besoin d'un filtrage qui traite ces message afin de les afficher à l'écran. Une autre possibilité serait d'écrire une macro qui combine le décodage est l'affichage dans une fenêtre.
Dans le cas de Pine, il y a une option pour définir des filtres qui seront exécutés avant la visualisation des messages.
L'option est appelée 'display-filters' et se trouve dans le menu de configuration.
Dans cette option nous ajoutons un nouveau filtre qui ressemble à ceci:
_BEGINNING("-----BEGIN PGP MESSAGE-----")
_ /usr/local/bin/pgp
Chaque message PGP encodé est contenu entre deux lignes spécifiques qui sont "-----BEGIN PGP MESSAGE-----" et "-----END PGP MESSAGE-----" aussi si nous voulons savoir si un message à du texte codé à l'intérieur, il suffit de rechercher l'une des deux lignes ci-dessus. Le filtre définit dans Pine fait exactement ceci. Avant d'afficher le message, il inspecte le corps et recherche les caractères "-----BEGIN PGP MESSAGE-----" en s'assurant qu'il apparaît bien au début de la ligne. S'ils le trouve, alors il exécute le programme: /usr/local/bin/pgp
Ensuite si il y a réellement un message encodé dans le corps du texte PGP s'exécute.
Il vous demandera votre mot de passe et vous pourrez lire le message.
Si vous souhaitez automatiser ce traitement encore plus, en gagnant le temps nécessaire pour taper votre mot de passe
à chaque fois, alors vous devez définir une variable d'environnement PGPPASS ou utiliser l'option -z . Comme décrit ci-dessus.
Maintenant nous devons définir un filtre qui encodera nos messages avec la clef publique des destinataires qui figurent dans notre anneau publique avant que le message soit envoyé. Pine nous aide, avec l'option de configuration 'sending-filters.' . Voici le filtre à inclure pour cette option:
/usr/local/bin/pgp -etaf _RECIPIENTS_
Après avoir ecrit le message est tapé contrôle-x pour l'envoyer, Pine vous demandera si vous voulez l'envoyer directement avec ou sans le filtre. Pour envoyer le message décodé, indiquer simplement oui, mais si vous voulez envoyer le message encodé, alors nous taperons Ctrl-N ou Ctrl-P qui vous présentera la liste des filtres définis. Dans notre cas, ceci sera le filtre PGP décrits ci-dessus.
Ceci est un réglage très simples qui vous permet d'utiliser PGP avec Pine, et avec seulement deux filtres.
Pour en savoir plus sur comment intégrer encore plus PGP, avec Pine et d'autres systèmes, consulter ces liens:
elm
| GNU
Emacs | tin
| mailx
| MH
| Pine
| sendmail
| vi
| zmail
|