Verschlüsseln und signieren Sie mit einem bestimmten geheimen Schlüssel

20

Ich habe einen OpenPGP-Smartcard-Schlüssel (YubiKey NEO) sowie einen lokalen geheimen Schlüssel in meinem GnuPG-Schlüsselbund installiert.

Ich möchte eine Datei mit dem Schlüssel meiner Karte verschlüsseln und signieren, nicht mit dem Schlüssel in meinem Schlüsselbund. Wie kann ich angeben, mit welchem ​​Schlüssel ich unterschreiben möchte?

Wie signiere ich mit diesem Schlüssel, wenn meine Geheimschlüssel-ID für das Dateisystem DEADBEEFund mein Smartcard-Schlüssel gleich sind DEADBEE5?

Naftuli Kay
quelle

Antworten:

11

Sie sollten angeben --default-key:

gpg -s --default-key DEADBEE5 input > output

und überprüfen Sie anschließend mit

gpg -d < output | head -1

Von der gpg manSeite ( --signAbschnitt):

Der zum Signieren zu verwendende Schlüssel ist standardmäßig ausgewählt oder kann mit den Optionen --local-user und --default-key festgelegt werden.

Anthon
quelle
gpg: conflicting commandswenn ich versuche zu verschlüsseln und zu signieren.
Naftuli Kay
@NaftuliTzviKay Sorry --sign-key dient zum Signieren anderer Schlüssel mit einem bestimmten Schlüssel. Ich habe die Antwort aktualisiert (und diesmal vorher getestet).
Anthon
--default-*macht auf der Kommandozeile wenig Sinn. Diese Optionen gelten für die Konfigurationsdatei.
Hauke ​​Laging
1
Der Unterschied zwischen --local-userund --default-keyist, --local-userdass ein Fehler auftritt, wenn Sie einen nicht vorhandenen Schlüssel angeben. Mit --default-keywird ein nicht vorhandener Schlüssel ignoriert und der erste Schlüssel im Schlüsselbund verwendet.
wisbucky
15

Der Signaturschlüssel wird mit -u/ ausgewählt --local-user:

gpg --local-user 0xDEADBEE5 --sign file

Diese Option kann mehrmals angegeben werden, um die Signaturen mehrerer Schlüssel zu kombinieren:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Hauke ​​Laging
quelle
Laut der Manpage ist using --local-userdasselbe wie using --default-userin meiner Antwort
Anthon
1
@Anthon Es führt zum gleichen Ergebnis. Das bedeutet nicht, dass --default-*dies für diese Verwendung empfohlen werden sollte. Ich bin seit Jahren auf der GnuPG-Mailingliste. Ich habe so etwas noch nie gesehen.
Hauke ​​Laging
Nun ja, es sieht aus wie das Problem kam einmal auf GnuPG-Benutzer und dass Sie , wo derjenige, der die Antwort mit sofern Ihrer Lektüre der Manpage ;-). Für mich ist es -keyviel sinnvoller , eine Option in ihrem Namen anzugeben, wenn ich einen bestimmten Schlüssel verwenden möchte, als etwas mit -userYMMV anzugeben.
Anthon
4
Ich denke, @Anthon meinte --default-keyin seinem Kommentar oben. Wenn Sie damit arbeiten, besteht ein Unterschied zwischen --local-userund --default-keynach meiner Erfahrung darin, dass der erste fehlschlägt, wenn kein passender Schlüssel vorhanden ist, während der zweite auf andere Schlüssel zurückgreift. Aus diesem Grund würde ich sehr vorsichtig sein, wenn ich --default-keySkripte einsetze.
Jack O'Connor
Ich habe @ JackO'Connors Kommentar mit gpg 2.2.4 getestet und bestätigt. Der Mann für --default-keysagtIf there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
wisbucky