cboltz.de

GPGoffle...

... ist kein eigenes Programm, sondern die praktische Verbindung von GPG und wwwoffle ;-)

Das Problem

Ich möchte die GPG-Signaturen in Mails, die ich empfange, überprüfen. Dies geht bei neuen / unbekannten Keys normalerweise nur, wenn man online ist und GPG auf einen Keyserver zurückgreifen kann.

Gleichzeitig möchte ich aber auch Onlinekosten sparen, da ich nur ein Modem (und keine Flat) habe.

Die Lösung

GPG kann die Keys auch über einen Proxy abholen. In Verbindung mit wwwoffle kann man die Keys also während des Maillesens automatisch vorbestellen (wird gemacht, wenn das Mailprogramm den Key überprüft) und in der ip-up.local dann per wwwoffle -fetch in einem Rutsch vom Keyserver laden. Wenn der Key dann das nächste mal auftritt, kann GPG ihn aus dem wwwoffle-Cache laden und in den Keyring aufnehmen.

Das verwendete Mailprogramm spielt übrigens keine Rolle, da die Anforderung der Keys automatisch von GPG erledigt wird, wenn ein unbekannter Key überprüft werden soll.

Konfiguration von GPG

In der GPG-Konfiguration sind einige Einträge nötig. Bei GPG bis Version 1.1.91 sind diese in ~/.gnupg/options einzutragen, in neueren Versionen in ~/.gnupg/gpg.conf - falls bei neuerem GPG keine solche Datei existiert, wird auf ~/gnupg/options zurückgegriffen.

Anstelle des von mir genannten Keyservers kann man natürlich auch einen anderen verwenden ;-)

Für GPG <= 1.0.6:

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

Für GPG >=1.0.7 und <=1.3.4

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

Für GPG >=1.3.5

keyserver-options http-proxy=http://localhost:8080 auto-key-retrieve keyserver wwwkeys.de.pgp.net

Durch diese Einstellungen bringt man GPG dazu, den in der Umgebungsvariable $http_proxy angegebenen Proxy zu berücksichtigen. Diese Variable kann man z. B. in der ~/.profile mit dem wwwoffle-Server belegen. (Für GPG >=1.3.5 wird $http_proxy nicht mehr benötigt.)

http_proxy=http://localhost:8080 export http_proxy
Außerdem wird GPG mit auto-key-retrieve dazu gebracht, alle unbekannten Keys automatisch anzufordern. Dies scheint bis Version 1.0.6 Standard zu sein und ist deshalb nicht explizit angegeben.

wwwoffle starten

Falls wwwoffle noch nicht läuft, muss er natürlich gestartet werden. Dies geschieht unter SuSE Linux mit

chkconfig -a wwwoffle # oder: insserv wwwoffle rcwwwoffle start
Bei älteren Versionen von SuSE Linux (7.3 und älter) ist statt des Aufrufs von insserv der Eintrag
START_WWWOFFLE="yes"
in der /etc/rc.config erforderlich.

Konfiguration von wwwoffle

Eigentlich muss man an wwwoffle nichts konfigurieren, da er schon so voreingestellt ist, dass er offline angeforderte Seiten beim nächsten Aufruf mit wwwoffle -fetch in den Cache lädt. Da ich mit Ausnahme der GPG-Keys keine Vorbestellungen wünsche, habe ich meinen wwwoffle so konfiguriert, dass nur Anfragen an den Keyserver als Bestellung gespeichert werden. Dazu braucht man in der /etc/wwwoffle.conf folgende Einstellungen:

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

Achtung: wwwoffle richtet sich nach der ersten zutreffenden Zeile, deshalb muss <*://*/*> immer der letzte Eintrag für die jeweilige Option sein!

Nach Änderungen der /etc/wwwoffle.conf ist ein Neustart von wwwoffle nötig:

rcwwwoffle reload # oder: wwwoffle -config

ip-up und ip-down

Um wwwoffle bei der Einwahl automatisch in den Online-Modus zu schalten, braucht man in der /etc/ppp/ip-up.local noch die entsprechenden Einträge, nämlich

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

Außerdem sollte man wwwoffle in der /etc/ppp/ip-down.local wieder in den Offline-Modus schalten:

/usr/bin/wwwoffle -offline

Nicht-SuSE-Nutzer müssen die Einträge möglicherweise in der /etc/ppp/ip-up bzw. der /etc/ppp/ip-down eintragen oder dafür sorgen, dass die *.local-Dateien von ip-up bzw. ip-down aufgerufen werden.

Ein "beliebter" Fehler ist übrigens, dass die /etc/ppp/ip-{up,down}.local nicht ausführbar ist. In diesem Fall hilft ein

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

Fertig!

Mit diesen Einstellungen sollte es ohne Probleme möglich sein, die GPG-Keys während des Maillesens vorzubestellen und bei der nächsten Einwahl anzufordern.

Fragen, Korrekturen oder Anregungen? >> Immer her damit!

Ein sehr schönes Beispiel dafür, wie man nach dem für UNIX typischen Baukastenprinzip einzelne Tools miteinander verbindet, um eine komplexere Aufgabe zu bewältigen.
Hartmut Meyer in der >> SuSE Supportdatenbank   [>> English version]

last update: 27.3.2005 (GPG 1.4.0, wwwoffle 2.8d)