Ich versuche, die Passphrase des geheimen Schlüssels meines GPG zu ändern.
Ich habe es tatsächlich mit Seahorse geändert (auch gpg --edit-keys
versucht und passwd
, aber als ich versuchte, meinen privaten Schlüssel zu exportieren, fragt er mich jetzt nach zwei Passphrasen (sowohl die neue als auch die alte) und verwendet die alte für den geheimen Unterschlüssel.
Jetzt muss ich mir zwei komplizierte Passwörter merken!
Was ist der richtige Weg, um die Passphrase des geheimen Schlüssels von GPG zu ändern?
Akzeptierte Antwort:
Für GPG 2.1 und höher werden die privaten Schlüssel in ~/.gnupg/private-keys-v1.d
gespeichert Jeder Schlüssel, einschließlich Unterschlüssel, wird als separate Datei gespeichert, wobei der Keygrip des Schlüssels als Dateiname verwendet wird:
<keygrip>.key
Bei Verwendung von gpg --edit-key
Um die Passphrase zu ändern, werden alle Unterschlüssel im privaten Schlüsselverzeichnis geändert.
Es scheint jedoch, dass seahorse
ändert nur die private Schlüsseldatei des Hauptschlüssels.
Es sieht also so aus, als wäre dies ein Fehler in seahorse
. Es kann eine Regression von früheren gpg
sein Versionen, die die privaten Schlüssel ebenso wie die öffentlichen Schlüssel in einer Schlüsselringstruktur speicherten. Dieses Verhalten wurde in den Versionen 2.1 und höher geändert.
Einfache Testergebnisse mit Testschlüssel, die zeigen, dass Seahorse nur die private Schlüsseldatei des Hauptschlüssels modifiziert.
Testschlüssel mit drei Unterschlüsseln
pub ed25519 2018-12-24 [SC]
988D29CB7CA9D62252B22DEFB42E56952F9FB61C
Keygrip = 8226D19110BAC4FB4D60BC25869E5F23C1BB667F
uid [ultimate] delete me (Delete Me) <[email protected]>
sub cv25519 2018-12-24 [E]
Keygrip = 04B4D2C5CC29926F48DA2C4FD24F03B9595AE51C
sub ed25519 2019-03-25 [SA]
Keygrip = 269995721854253C5F8B48CB40DD24948D580F8C
sub ed25519 2019-03-25 [SA]
Keygrip = 604E0E8F9D9C2B19A823E22A90F08EC2DDCA80BB
Passphrase geändert mit seahorse
-rw------- 1 user user 333 Mar 25 09:27 8226D19110BAC4FB4D60BC25869E5F23C1BB667F.key
-rw------- 1 user user 333 Mar 25 09:08 604E0E8F9D9C2B19A823E22A90F08EC2DDCA80BB.key
-rw------- 1 user user 333 Mar 25 09:08 269995721854253C5F8B48CB40DD24948D580F8C.key
-rw------- 1 user user 341 Mar 25 09:08 04B4D2C5CC29926F48DA2C4FD24F03B9595AE51C.key
Passphrase geändert mit gpg --edit-key
-rw------- 1 user user 333 Mar 25 09:37 604E0E8F9D9C2B19A823E22A90F08EC2DDCA80BB.key
-rw------- 1 user user 333 Mar 25 09:37 269995721854253C5F8B48CB40DD24948D580F8C.key
-rw------- 1 user user 341 Mar 25 09:37 04B4D2C5CC29926F48DA2C4FD24F03B9595AE51C.key
-rw------- 1 user user 333 Mar 25 09:37 8226D19110BAC4FB4D60BC25869E5F23C1BB667F.key
Seepferdchen-Quellcodeprüfung
Nachdem wir einen Teil des Seepferdchen-Quellcodes überprüft haben, scheint es wahrscheinlich, dass das Verhalten mit den älteren gpg-Methoden für geheime Schlüsselbunde übereinstimmt.
Laut gpgme
Dokumentation sollte die Passphrase mit gpgme gpgme_op_passwd
geändert werden Funktionsaufruf. Dieser Funktionsaufruf erscheint jedoch nicht im Seahorse-Quellcode.