Sto cercando di cambiare la passphrase della chiave segreta del mio GPG.
In realtà l'ho cambiato usando il cavalluccio marino (ho anche provato gpg --edit-keys
e passwd
, ma quando ho provato a esportare la mia chiave privata ora mi chiede due passphrase (sia nuova che vecchia) e usa quella vecchia per la chiave segreta.
Ora devo ricordare due password complicate!
Qual è il modo corretto per cambiare la passphrase della chiave segreta di GPG?
Risposta accettata:
Per GPG 2.1 e versioni successive, le chiavi private sono archiviate in ~/.gnupg/private-keys-v1.d
Ciascuna chiave, incluse le sottochiavi, viene archiviata come file separati utilizzando il keygrip della chiave come nome file:
<keygrip>.key
Quando si utilizza gpg --edit-key
per modificare la passphrase, tutte le sottochiavi vengono modificate nella directory della chiave privata.
Tuttavia, sembra che seahorse
sta solo modificando il file della chiave privata della chiave principale.
Quindi, sembra che questo sia un bug in seahorse
. Potrebbe essere una regressione dal precedente gpg
versioni che memorizzavano le chiavi private in una struttura di portachiavi proprio come le chiavi pubbliche. Questo comportamento è stato modificato nelle versioni 2.1 e successive.
Semplici risultati di test con chiave di test, che mostrano che il cavalluccio marino modifica solo il file di chiavi privato della chiave principale.
Test chiave con tre sottochiavi
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 modificata con 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 modificata con 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
Controllo del codice sorgente di Seahorse
Dopo aver esaminato parte del codice sorgente del cavalluccio marino, sembra probabile che il comportamento sia in linea con i vecchi metodi gpg di portachiavi segreti.
Secondo gpgme
documentazione, la passphrase dovrebbe essere modificata usando gpgme gpgme_op_passwd
chiamata di funzione. Tuttavia, questa chiamata di funzione non compare nel codice sorgente del cavalluccio marino.