Sonntag, 27. Januar 2008

E-Mail-Adressen bei einem PGP/GPG-Schlüssel hinzufügen und entfernen

In meinem Beitrag "Apple Mail und PGP - verschlüsseln, entschlüsseln und signieren" Anfang des Jahres habe ich u.a. geschrieben, dass man einem PGP/GPG-Schlüssel noch weitere E-Mail-Adressen hinzufügen kann. Die Erklärung wie dies funktioniert bin ich bisher schuldig geblieben. Dies möchte ich nun nachholen.

Leider bietet das Programm "GPG Schlüsselbund" (noch) keine Möglichkeit an, zu einem Schlüssel weitere E-Mail-Adressen hinzuzufügen. Deshalb muss man dies über die Kommandozeile von gpg erledigen. Dies möchte ich hier Schritt für Schritt erklären.

Zunächst öffnet man das Programm "Terminal" (Programme -> Dienstprogramme) und listet sich alle privaten Schlüssel auf:
dirk-eineckes-computer:~ dirkeinecke$ gpg --list-secret-keys
/Users/dirkeinecke/.gnupg/secring.gpg
-------------------------------------
sec 1024D/3488443B 2008-01-12
uid Max Mustermann <max@mustermann.de>
ssb 4096g/DDEEF485 2008-01-12
Hier sieht man nun alle verfügbaren privaten Schlüssel. Man sucht sich den Schlüssel raus, dem man eine neue E-Mail-Adresse hinzufügen möchte. Welche E-Mail-Adresse ist bisher eingetragen? Diese Information benötigen wir nun. Im o.g. Beispiel ist dies "max@mustermann.de".

Im nächsten Schritt geht es nun an das Bearbeiten dieses Schlüssels:
dirk-eineckes-computer:~ dirkeinecke$ gpg --edit-key "max@mustermann.de"
gpg (GnuPG) 1.4.8; Copyright (C) 2007 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.

Geheimer Schlüssel ist vorhanden.

pub 1024D/3488443B erzeugt: 2008-01-12 verfällt: niemals Aufruf: SCA
Vertrauen: unbekannt Gültigkeit: unbekannt
sub 4096g/DDEEF485 erzeugt: 2008-01-12 verfällt: niemals Aufruf: E
[ unbek.] (1). Max Mustermann <max@mustermann.de>

Befehl>
Nun wartet das gpg-Programm darauf, das man sagt, was man denn gern bearbeiten möchte. In diesem Fall soll eine neue E-Mail-Adresse (eine neue User-ID ... kurz: uid) hinzugefügt werden. Also gibt man hinter "Befehl>" (oder in der englischen Version "Command>") den Befehl "adduid" ein:
Befehl> adduid
Nun fragt das Programm einige Informationen (Name, E-Mail-Adresse, Kommentar) zu der neuen User-ID ab. Hier gibt man die gewünschten Angaben ein ... (bei der Frage nach der "Passphrase" muss man die "Passphrase" des Schlüssels eingeben, welche man beim Erstellen des Schlüssels vergeben hat):
Ihr Name ("Vorname Nachname"): Max Mustermann
Email-Adresse: maxi@mustermann.de
Kommentar:
Sie haben diese User-ID gewählt:
"Max Mustermann <maxi@mustermann.de>"

Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? F

Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.
Benutzer: "Max Mustermann <max@mustermann.de>"
1024-Bit DSA Schlüssel, ID 3488443B, erzeugt 2008-01-12


pub 1024D/3488443B erzeugt: 2008-01-12 verfällt: niemals Aufruf: SCA
Vertrauen: unbekannt Gültigkeit: unbekannt
sub 4096g/DDEEF485 erzeugt: 2008-01-12 verfällt: niemals Aufruf: E
[ unbek.] (1) Max Mustermann <max@mustermann.de>
[ unbek.] (2). Max Mustermann <maxi@mustermann.de>
Nun hat man dem Schlüssel - temporär - eine neue User-ID hinzugefügt. Was viele nun vergessen: Man muss die Änderungen natürlich noch speichern:
Befehl> save
dirk-eineckes-computer:~ dirkeinecke$
Nun kann man zur Kontrolle noch mal die privaten Schlüssel auflisten und das Ergebnis betrachten:
dirk-eineckes-computer:~ dirkeinecke$ gpg --list-secret-keys
/Users/dirkeinecke/.gnupg/secring.gpg
-------------------------------------
sec 1024D/3488443B 2008-01-12
uid Max Mustermann <max@mustermann.de>
uid Max Mustermann <maxi@mustermann.de>
ssb 4096g/DDEEF485 2008-01-12

dirk-eineckes-computer:~ dirkeinecke$
Prima! Es hat funktioniert.

Eine E-Mail-Adresse (bzw. User-ID) von einem PGP/GPG-Schlüssel entfernen

Eine Frage die sich nach dem Hinzufügen einer neuen User-ID zwangsläufig irgendwann ergibt ist "Wie kann ich eine User-ID (bzw. E-Mail-Adresse) wieder löschen?" Kein Problem - auch dazu möchte ich hier eine kleine Anleitung bieten:

Im ersten Schritt öffnet man wieder - wenn nicht noch offen - das Programm "Terminal" (Programme -> Dienstprogramme) und listet sich alle privaten Schlüssel auf:
dirk-eineckes-computer:~ dirkeinecke$ gpg --list-secret-keys
/Users/dirkeinecke/.gnupg/secring.gpg
-------------------------------------
sec 1024D/3488443B 2008-01-12
uid Max Mustermann <max@mustermann.de>
uid Max Mustermann <maxi@mustermann.de>
ssb 4096g/DDEEF485 2008-01-12

dirk-eineckes-computer:~ dirkeinecke$
Man sucht sich nun den Schlüssel heraus, bei dem man eine User-ID löschen möchte und gibt den Befehl zum Bearbeiten dieses Schlüssels. Dabei kann man eine beliebige E-Mail-Adresse des Schlüssels angeben:
dirk-eineckes-computer:~ dirkeinecke$ gpg --edit-key "maxi@mustermann.de"
gpg (GnuPG) 1.4.8; Copyright (C) 2007 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.

Geheimer Schlüssel ist vorhanden.

pub 1024D/3488443B erzeugt: 2008-01-12 verfällt: niemals Aufruf: SCA
Vertrauen: unbekannt Gültigkeit: unbekannt
sub 4096g/DDEEF485 erzeugt: 2008-01-12 verfällt: niemals Aufruf: E
[ unbek.] (1). Max Mustermann <maxi@mustermann.de>
[ unbek.] (2) Max Mustermann <max@mustermann.de>

Befehl>
Am Ende der Ausgabe werden die bisher bestehenden User-IDs (E-Mail-Adressen) ausgegeben. Vor jedem Eintrag steht eine Nummer in Klammern. Hier schaut man, welche "Nummer" man löschen möchte und wählt diese über den Befehl "uid" aus:
Befehl> uid 1

pub 1024D/3488443B erzeugt: 2008-01-12 verfällt: niemals Aufruf: SCA
Vertrauen: unbekannt Gültigkeit: unbekannt
sub 4096g/DDEEF485 erzeugt: 2008-01-12 verfällt: niemals Aufruf: E
[ unbek.] (1)* Max Mustermann <maxi@mustermann.de>
[ unbek.] (2) Max Mustermann <max@mustermann.de>
Die ausgewählte User-ID ist nun mit einem * (Stern) hinter der Angabe der Nummer gekennzeichnet. Nun geht es an das Löschen. Dies macht man mit dem Befehl "deluid". Dabei wir man noch mal gefragt, ob man die User-ID wirklich löschen möchte. Dies beantwortet man mit "j" (ohne Anführungszeichen).
Befehl> deluid
Diese User-ID wirklich entfernen? (j/N) j

pub 1024D/3488443B erzeugt: 2008-01-12 verfällt: niemals Aufruf: SCA
Vertrauen: unbekannt Gültigkeit: unbekannt
sub 4096g/DDEEF485 erzeugt: 2008-01-12 verfällt: niemals Aufruf: E
[ unbek.] (1) Max Mustermann <max@mustermann.de>
Als Ergebnis werden nun zur Kontrolle die Informationen des Schlüssels ausgegeben - und die gelöschte User-ID sollte nicht mehr mit aufgeführt werden.

Kommentare:

  1. Hallo! Tolle Anleitung, Danke für die Mühe!
    Aber wie kriege ich die verschiedenen UserID's in Mail unter?
    Wenn ich eine Email getippt habe und die signieren will, habe ich zwar alle UserID's prinzipiell zur Auswahl, aber nur der StandardKey lässt sich wirklich auswählen, die anderen bleiben so komisch grau und lassen sich nicht anklicken. Habe in den Einstellungen schon angeklickt "Schlüssel des entsprechenden Mail-Kontos verwenden", geht nicht. D.h. ich schicke z.B. Mail von der gmx Adresse, die mit der web Abresse signiert wird.
    Hat jemand nen Tipp??

    AntwortenLöschen
  2. Noch kurz ein Anhang...
    Ich weiss schon, dass der Schlüssel für alle UserID's der gleiche ist... Problem ist, dass ich nicht zwingend möchte, dass die zum primaryKey gehörige Mail-Adresse immer mit versendet wird...mmmh. ist irgendwie blöde zu erklären, aber vielleicht weiss ja jemand was ich meine;)

    AntwortenLöschen
  3. Ich habe eine uid entfernt, wenn ich den Key jetzt mit dem Public Key Server abgleiche bekomme ich aber die gelöschte uid immer wieder zurück.

    Kann man einmal veröffentlichte uids nicht mehr entfernen?

    AntwortenLöschen
  4. man gpg | most +/deluid
    deluid: Delete a user id. Note that it is not possible to retract a user id, once it has been send to the public (i.e. to a keyserver). In that case you better use revuid.

    AntwortenLöschen
  5. ist es möglich meinen schlüssel wieder zu löschen, um z.b. einen neuen zu generieren? ich habe einen 4096 schlüssel und bei mails mit anhang geht die entschlüsselung einfach zu lange. möchte gerne einen kürzeren schlüssel generieren, wie muss ich da vorgehen? wenn ich im gpg-schlüsselbund löschen will kommt eine fehlermeldung...

    AntwortenLöschen
  6. hab gemerkt, dass mein problem mit den dateianhängen nicht am zu lngen schlüssel liegt, sondern an einer falschen signatur des absenders... konnte das problem mit dem programm "Gpg Tools" beheben. (freeware, gibts auch bei versiontracker.com)

    AntwortenLöschen
  7. Hallo, kann mir jemand sagen, wie ich Schlüssel im GPG Schlüsselbund wieder löschen kann? Ich bekomme jedes Mal eine Fehlermeldung und der Schlüssel ist noch da.

    AntwortenLöschen
  8. WICHTIGE FRAGE: Haben mein Passwort/Passphrase für den Schlüssel vergessen, möchte daher diesen löschen und meiner email-adresse einen neuen geben, wie gehe ich vor bei vergessener passphrase?

    AntwortenLöschen