Option --default-recipient-self

Helmut Waitzmann ml.throttle at xoxy.net
Do Feb 25 20:40:13 CET 2016


Klara Hofmann <k.hofmann81 at web.de>:
> Eine Frage zur Option --default-recipient-self: Irgendwie verstehe ich
> die Beschreibung der Option, andererseits werde ich aus der
> Option immer noch nicht schlau.
>
> Mit --recipient lege ich ja den/die Fremdschlüssel fest, mit denen
> verschlüsselt wird.

ja, die Schlüssel der Empfänger, die die Daten lesen können
sollen.  Wenn man „--(hidden-)recipient“ nicht angibt, fragt Gnupg
danach, sofern man nicht „--default-recipient“ oder
„--default-recipient-self“ verwendet.

Das Mailerprogramm, beispielsweise Thunderbird, hat also zwei
Möglichkeiten, Gnupg mitzuteilen, für welche Empfänger
verschlüsselt werden soll:  Entweder nutzt es
„--(hidden-)recipient“ oder beantwortet Gnupgs Frage.  Welche
Möglichkeit es nutzt, weiß ich nicht.

> Mit --encrypt-to bzw. --hidden-encrypt-to lege ich meinen
> eigenen Schlüssel fest, mit dem zusätzlich verschlüsselt wird,
> damit ich die verschlüsselten Daten, die ich verschicke,
> jederzeit entschlüsseln kann.

Genau.  Und das Geschickte daran:  Ich schreibe

  hidden-encrypt-to mein_User‐Id

oder

  encrypt-to mein_User‐Id

in die Gnupg‐Konfigurationsdatei hinein.  Dann muss Thunderbird
nicht einmal wissen, welcher mein Schlüssel ist.  Gnupg sorgt auf
diese Weise ganz von selbst dafür, dass ich verschickte
Nachrichten auch selber lesen kann.


Gnupg ist (zumindest in der UNIX‐Welt, ich vermute aber auch,
unter MS‐Windows) direkt als interaktives Programm, gestartet von
der Kommandozeile, verwendbar:  Ich kann es also pur, ohne
Thunderbird, verwenden, um Dateien zu verschlüsseln.  Auch da muss
ich dann „--(hidden-)recipient“ verwenden oder Gnupgs Fragen
beantworten, wie Thunderbird auch.

Wenn ich beispielsweise eine Datei so verschlüsseln wollte, dass
nur ich sie lesen kann, müsste ich in der Kommandozeile

  gpg --recipient mein_User‐Id --encrypt -- zu_verschlüsselnde_Datei

starten.  Jedes Mal hier mein_User‐Id eintippen zu müssen, ist
umständlich.  Dass ich es schon längst in der
Gnupg‐Konfigurationsdatei mit „--(hidden-)encrypt-to“ angegeben
habe, nützt mir da nichts.  Aus dem Manual:

  `--encrypt-to `name''
       Same as `--recipient' but this one is intended for use in
       the options file and may be used with your own user-id as
       an "encrypt-to-self". These keys are only used when there
       are other recipients given either by use of `--recipient'
       or by the asked user id.  No trust checking is performed
       for these user ids and even disabled keys can be used.

  `--hidden-encrypt-to `name''
       Same as `--hidden-recipient' but this one is intended for
       use in the options file and may be used with your own
       user-id as a hidden "encrypt-to-self". These keys are only
       used when there are other recipients given either by use of
       `--recipient' or by the asked user id.  No trust checking
       is performed for these user ids and even disabled keys can
       be used.

Die werden von Gnupg also nur beachtet, wenn ich
„--(hidden-)recipient“ angegeben habe, oder Gnupgs Frage nach
User‐Ids beantworte.

> Wozu ist dann --default-recipient-self da? 

Genau für diesen Fall.  Ich hole ein bisschen aus.  Aus dem
Manual:

  `--default-recipient NAME'
       Use NAME as default recipient if option `--recipient' is
       not used

Ich könnte also

  default-recipient mein_User‐Id

in die Gnupg‐Konfigurationsdatei hineinschreiben.  Dann fragt
Gnupg nicht nach, wenn keine weiteren User‐Ids mit
„--(hidden-)recipient“ angegeben werden, sondern verwendet einfach
dieses.  Allerdings hat das dann den Nachteil, dass Gnupg dann
mich (oder auch Thunderbird) nie nach User‐Ids fragt, selbst wenn
ich es wollte.  Daher ist es vielleicht besser, das nicht in die
Konfigurationsdatei reinzuschreiben, sondern nur als Option beim
Gnupg‐Start zu verwenden.  Allerdings ist das dann auch nicht
weniger umständlich, als

  --(hidden-)recipient mein_User‐Id

zu verwenden.


Aber es gibt noch eine andere Möglichkeit, um viel Umstand in der
Kommandozeile herumzukommen.  Dazu muss ich nochmal ausholen:

Im Manual steht:

  `--default-key NAME'
       Use NAME as the default key to sign with. If this option is
       not used, the default key is the first key found in the
       secret keyring.  Note that `-u' or `--local-user' overrides
       this option.

Mit

  default-key mein_User‐Id

in der Gnupg‐Konfigurationsdatei gebe ich Gnupg meinen
(Signier‐)schlüssel bekannt.

Und es ist auch geeignet für „--default-recipient-self“:

> Beschreibung im Manual:
> --default-recipient-self
> Use the default key as default recipient if option --recipient is not
> used and don’t ask if this is a
> valid one. The default key is the first one from the secret keyring or
> the one set with --default-key.

Im Zusammenspiel mit „--default-key mein_User‐Id“ ist
„--default-recipient-self“ dasselbe wie

„--default-recipient mein_User‐Id“

und ist für den Fall geeignet, dass dieser Schlüssel, den man bei
„--default-recipient“ angeben will, der eigene ist:

Ich gebe Gnupg in der Konfigurationsdatei mit „default-key“ meinen
Schlüssel bekannt.

Jetzt kann ich mit „--default-recipient-self“ Daten für mich
verschlüsseln, ohne nochmals mit „--default-recipient“ irgend
einen Empfängerschlüssel angeben zu müssen:

  gpg --default-recipient-self --encrypt -- zu_verschlüsselnde_Datei

Nochmal zusammengefasst:

Beim Verschlüsseln fragt mich Gnupg nach Empfänger‐User‐Ids, wenn
ich weder „--(hidden-)recipient“ noch „--default-recipient NAME“
oder „--default-recipient-self“ angebe.

„--hidden-encrypt-to NAME“ und „--encrypt-to NAME“ werden von
Gnupg nur beachtet, wenn ich andere Empfänger mit „--recipient“
oder „--hidden-recipient“ angebe.  „--default-recipient NAME“ und
„--default-recipient-self“ ändern daran nichts.

„--default-recipient NAME“ und „--default-recipient-self“ werden
von Gnupg nur beachtet, wenn ich keine anderen Empfänger mit
„--recipient“ oder „--hidden-recipient“ angebe.
„--hidden-encrypt-to NAME“ und „--encrypt-to NAME“ ändern daran
nichts.


Also gehe ich so vor:

In die Gnupg‐Konfigurationsdatei schreibe ich die Zeilen

  „encrypt-to <mein_User‐Id>“

oder

  „hidden-encrypt-to <mein_User‐Id>“

und die Zeile

  „default-key <mein_User‐Id>“

, wobei ich für „<mein_User‐Id>“ das Fingerprint meines
Hauptschlüssels hinschreibe.

Wenn ich jetzt Gnupg in der Kommandozeile verwenden will, um Daten
für mich zu verschlüsseln, muss ich nur

  gpg --default-recipient-self --encrypt -- zu_verschlüsselnde_Datei

schreiben.  Ich muss weder mein User‐Id in die Kommandozeile
stellen, noch Gnupg Fragen beantworten.



Mehr Informationen über die Mailingliste Gnupg-de