SDB:GPGoffle : Vérifier des clés GPG automatiquement sans devoir se connecter à l'Internet

Aller à : navigation, rechercher


Situation

Vous souhaitez faire vérifier des signatures GPG automatiquement. Ce n'est pas un problème, mais pour cela un serveur de clés public doit être interrogé de temps en temps pour les signatures inconnues, donc cela suppose normalement toujours d'établir une connexion à votre fournisseur d'accès à l'Internet. C'est gênant pour certains et cher aussi pour d'autres.

Si vous avez un forfait, ce n'est naturellement pas un problème pour vous et les solutions suivantes ne sont sans doute pas intéressantes.

Mais c'est quand même un très bel exemple de comment on relie ensemble des outils isolés pour accomplir une tâche plus complexe, sur le principe typique d'UNIX du jeu de construction.

Les remerciements et la reconnaissance reviennent à Christian Boltz qui a mis au point cette solution (reprise ici pour l'essentiel sans modification).

Marche à suivre

GPG peut aussi aller chercher les clés sur un serveur mandataire. En combinaison avec wwwoffle on peut donc précommander les clés pendant la lecture du courrier électronique (ce qui est fait quand le logiciel de courrier électronique vérifie la clé) et les charger ensuite d'un seul coup depuis un serveur de clés avec wwwoffle -fetch dans le fichier /etc/ppp/ip-up.local. La prochaine fois GPG peut la charger depuis le cache de wwwoffle et l'ajouter au trousseau.

Le programme de courrier électronique utilisé ne joue d'ailleurs aucun rôle car la demande des clés est effectuée automatiquement par GPG quand une clé inconnue doit être vérifiée.

Configuration de GPG

Certaines lignes sont importantes dans les fichiers de configuration de GPG. Pour GPG jusqu'à la version 1.1.91 celles-ci sont déclarées dans ~/.gnupg/options, dans les versions plus récentes dans ~/.gnupg/gpg.conf - au cas où pour un GPG plus récent un tel fichier n'existe pas on se reportera à ~/.gnupg/options.

Au lieu du serveur de clés nommé ici on peut naturellement en utiliser aussi un autre.

Pour GPG <= 1.0.6 :

  honor-http-proxy
  keyserver wwwkeys.de.pgp.net

Pour GPG >=1.0.7

  keyserver-options honor-http-proxy auto-key-retrieve
  keyserver wwwkeys.de.pgp.net

Avec ces réglages on amène GPG à prendre en compte le serveur mandataire indiqué dans la variable d'environnement $http_proxy. On peut faire pointer cette variable sur le serveur wwwoffle, par exemple dans ~/.profile.

  http_proxy=http://localhost:8080
  export http_proxy

GPG va de plus être conduit avec auto-key-retrieve à demander automatiquement toutes les clés inconnues. Cela semble être le comportement par défaut jusqu'à la version 1.0.6 et c'est pourquoi ce n'est alors pas explicitement indiqué.

Démarrer wwwoffle

Dans le cas où wwwoffle ne fonctionne pas encore, il doit naturellement être activé comme service et d'abord être démarré.

  insserv wwwoffle
  rcwwwoffle start

Configuration de wwwoffle

En fait, on ne doit rien configurer concernant wwwoffle, puisqu'il est déjà préréglé de sorte qu'il charge hors ligne dans le cache les pages demandées lors du prochain appel de wwwoffle -fetch. Si vous ne souhaitez rien précommander hormis les clés GPG, vous pouvez configurer wwwoffle de telle sorte que seules les requêtes au serveur de clés soient enregistrées comme demandes. Pour cela vous devez mettre les réglages suivants dans le fichier /etc/wwwoffle.conf :

  OfflineOptions
  {
  <http://wwwkeys.de.pgp.net:11371/*> confirm-requests = no
  <*://*/*> confirm-requests = yes
  <http://wwwkeys.de.pgp.net:11371/*> dont-request = no
  }

Attention : wwwoffle<code> prend la première ligne qui corresponde, c'est pourquoi <code><*://*/*> doit toujours être la dernière ligne ! </code></code>

ip-up et ip-down

Pour baculer de wwwoffle en mode en-ligne lors de la numérotation, on a encore besoin des lignes appropriées dans le fichier /etc/ppp/ip-up.local, à savoir

  /usr/bin/wwwoffle -online
  /usr/bin/wwwoffle -fetch &

De plus on devrait passer à nouveau wwwoffle en mode hors-ligne dans le fichier /etc/ppp/ip-down.local :

  /usr/bin/wwwoffle -offline

Notez que les fichiers /etc/ppp/ip-{up,down}.local doivent être exécutables. Vous y parvenez avec

  chmod 755 /etc/ppp/ip-{up,down}.local

Fini !

Avec ces réglages il devrait être possible sans problème de précommander automatiquement les clés GPG pendant que l'on lit le courrier électronique et de les faire demander à wwwoffle lors de la prochaine numérotation. <keyword>GPG,wwwoffle,gpgoffle,key,clé</keyword>