Skip to content

caff einrichten

Keysigning zur ApacheCon 2006

Das nächste Keysigning steht an und wieder einmal stellt sich für alle Teilnehmer die Frage, wie man am besten alle Schlüssel unterschreibt. Ich nutze dafür caff und will euch im folgenden kurz eine Einführung in die Konfiguration des Programmes geben. Hoffentlich hilft das, leichter und schneller zu Ergebnissen zu kommen.

Die Software gehört bei Debian und darauf basierenden Distributionen zum Umfang der Distribution und wird im Paket signing-party ausgeliefert. Andere Distributionen können die Dateien aus dem Subversion auschecken.

caff wird über die Datei .caffrc gesteuert. Im folgenden sind einige Einstellungen genauer erläutert. Dabei reichen meist die ersten vier oder fünf genannten Einstellungen, um caff zum Laufen zu bekommen.

$CONFIG{’owner’} = ‘Max Mustermann’;

$CONFIG{’email’} = ‘mm@example.org’;

$CONFIG{’keyid’} = [ qw{01234567890ABCDE} ];

In den beiden Variablen legt ihr euren Namen, E-Mail-Adresse und die Key-ID eures Schlüssels fest. In der letzten Einstellung kann auch eine Liste von Schlüsseln stehen. Die Key-ID bzw. den Fingerprint eures Schlüssels erhaltet ihr durch Eingabe des Befehls: gpg --fingerprint emailadresse.

$CONFIG{’mail-template’} = <<’EOM’
Text der E-Mail
EOM

Diese Variable trägt den Text der E-Mail, die an die Adressaten verschickt wird. Ihr könnt dort beliebigen Text reinschreiben und auch Variablen lassen sich expandieren. So wird {$owner} durch den oben festgelegten Namen ersetzt, {$key} steht für die Key-ID und {@uids} ist ein Array über alle UIDs. In der Beispieldatei, die mitgeliefert wird, findet ihr auch ein Beispiel zur Anwendung dieser Variablen.

$CONFIG{’mailer-send’} = [ ‘smtp’, Server => ‘mail.example.org’, Auth => [’mm’, ‘GehHeim’] ];

Wenn ihr einen lokalen Mailserver habt, dann ist die obige Einstellung nicht nötig. Sie betrifft vielmehr Anwender, die üblicherweise Programme wie Thunderbird, Evolution etc. nutzen und ohne lokalen Mailserver unterwegs sind. Dann hier muss caff wissen, wie es die E-Mails versenden soll. Meist wird zum Versand ein Smarthost des Providers genutzt. Der Name des Mailservers wird oben eingetragen und innerhalb der eckigen Klammern nach Auth kommen die Zugangsdaten (Benutzername und Passwort).

$CONFIG{’keyserver’} = ‘subkeys.pgp.net’;

Es könnte sein, dass ihr einen anderen Keyserver als den obigen standardmäßig eingestellten Nutzer wollt. Dann solltet ihr subkeys.pgp.net durch den Keyserver eurer Wahl ersetzen. Im Allgemeinen ist dieser aber eine gute Wahl.

Die Software bietet noch eine Vielzahl weiterer Möglichkeiten zur individuellen Steuerung. Diese sind in der Handbuchseite zu caff erklärt. Wie ihr oben schon gesehen habt, hat jede Option den Aufbau $CONFIG{’optionsname’} = ‘einstellung’;. So könnt ihr auch die weiteren in der Manpage genannten Optionen belegen.

Nachdem alle Einstellungen getroffen sind, kannst du dich ans Unterschreiben machen. Das Programm muss mit einer Liste von Key-IDs aufgerufen werden. Doch woher kommen diese? Ich stelle bei den Keysignings, die ich leite, am Ende einen Keyring aller Teilnehmer zur Verfügung. Das macht es einfach, die Key-IDs zu extrahieren:

gpg --no-default-keyring --keyring=KEYRINGDATEI --with-colons --list-keys \
 | awk -F: ‘/^pub/ { print $5 }’

Nun ruft ihr das Programm auf: caff -m yes -u 0x012345 KEYIDS. Die Variable -m steht dafür, die E-Mails ohne Nachfrage zu versenden. Es gibt vier Möglichkeiten, diese zu belegen und wer es will, kann die Einstellungen auch in der .caffrc treffen. Ich persönlich nutze hier lieber die Kommandozeile, um die Option zu übergeben. Mittels -u übergebt ihr die Key-ID eures eigenen Schlüssels. Auch diese Einstellung kann bereits in der .caffrc getroffen werden. Nach einem beherzten Druck auf die Entertaste geht die eigentliche Arbeit los. Ihr werdet Schlüssel für Schlüssel nach eurer Unterschrift gefragt und könnt unterschreiben.

Ich hoffe, diese Anleitung ist für Teilnehmer an einem Keysigning nützlich und hilft, den Aufwand auf ein Minimum zu reduzieren.

Foto von NoirinP.

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

LeSpocky on :

Das größte Problem mit caff, hast Du leider gar nicht erwähnt. caff setzt auf dem Rechner ein installiertes Mail-System voraus. An dieser Hürde scheitern viel mehr Leute als an der Einrichtung und Bedienung von caff. ;-)

Fabian Keil on :

Von der Nutzung der Option “mailer-send” wird in der Dokumentation ausdrücklich abgeraten und wenn man gerne verschlüsselt mit dem Mail-Server kommunizieren möchte, ohne dabei beliebige Server-Zertifikate zu akzeptieren, artet das schnell in Gefrickel aus.

Da mein MUA (claws-mail ftw) bereits passend konfiguriert ist und ich die ausgehenden Mails sowieso kontrollieren möchte, nutze ich: http://www.fabiankeil.de/sourcecode/caff-mailto-cmd.diff

Auch nicht perfekt, aber für meine Zwecke ausreichend.

Christoph Haas on :

Ich habe dies durch die Installation von “nullmailer” gelöst. Alternativ kann auch “ssmtp” installiert werden.

Gruss
Christoph.

Edgar Hoffmann on :

Hallo.
ich habe es mittlerweile geschafft, caff halbwegs zum Laufen zu bringen (war zeitweise echt frustrierend).
Allerdings hänge ich jetzt an einem Fehler, den ich nicht wegbekomme:
---
edi@FSOG:~$ caff FREMDE_ID
[INFO] Importing key EIGENE_ID from your normal GnuPGHome.
[INFO] Importing keys from /home/edi/.gnupg/pubring.gpg
[INFO] Sign the following keys according to your policy, then exit gpg with ‘save’ after signing each key
gpg --homedir=/home/edi/.caff/gnupghome --secret-keyring /home/edi/.caff/gnupghome/secring.gpg --no-auto-check-trustdb --trust-model=always --edit FREMDE_ID sign
gpg (GnuPG) 1.4.11; Copyright (C) 2010 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.
No public keys found with list-key FREMDEID (note that caff uses its own keyring in /home/edi/.caff/gnupghome).
---
Das Ganze klappt nur, wenn ich in der .caffrc den Pfad zu pubring.gpg auf mein gpg-Verzeichnis ändere. Das ist so aber nicht gedacht, oder?

Hätte da vielleicht jemand einen hilfreichen Tip?

Vielen Dank schonmal.

Gruß
Edgar Hoffmann

Jens Kubieziel on :

Versuch mal
CODE:
gpg --no-default-keyring --keyring=/home/edi/.caff/gnupghome/pubring.pgp --recv-keys FREMDEID
und danach kannst du caff aufrufen.

Edgar Hoffmann on :

Hallo.
Vielen Dank für den Tip. Das hat scheinbar funktioniert, nur jetzt mosert er rum:
gpg: no default secret key: Geheimer Schlüssel ist nicht vorhanden
Soll ich den geheimen Schlüssel aus meinem gpg-Verzeichnis einfach in das entsprechende caff-Verzeichnis kopieren?
Sorry, daß ich das nicht blicke, aber das Ganze ist für Einsteiger dann doch recht verwirrend.

Christoph Haas on :

Hallo,

Was mir momentan noch Schwierigkeiten bereitet ist, aus der Liste einer größeren key-signing-party mit vertretbarem Aufwand eine Inputdatei für caff zu bauen.

Dass die Quelldatei natürlich zuerst mit den auf dem key-signing tatsächlich verifizierten keys abgeglichen und ggf. bereinigt werden muss ist klar...

Wie erstellst Du die Eingabedatei für caff?

Danke und Gruss
Christoph.

Jens Kubieziel on :

Ich habe die Schlüssel in einem Extra-Keyring und kann die IDs mit folgendem Kommando extrahieren:

CODE:
gpg --with-colons --no-default-keyring --keyring=.gnupg/CLT19-keys.gpg --list-keys | awk -F: ’/^pub/ { print $5 }’


Das füttere ich dann in caff:

CODE:
for key in $(gpg --with-colons --no-default-keyring --keyring=.gnupg/CLT19-keys.gpg --list-keys | awk -F: ’/^pub/ { print $5 }’); do caff -m yes $key; done

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Form options
cronjob