GPGキーのパスワードを変更しようとしています。
私は実際に海馬を使って変更しました(gpg --edit-keys
そしてまた試しましたpasswd
が、秘密鍵をエクスポートしようとすると、2つのパスワード(新しいパスワードと古いパスワード)を入力するように求められ、古いパスワードをサブキーとして使用します。
今、2つの複雑なパスワードを覚えておく必要があります!
GPGキーのパスワードを変更する正しい方法は何ですか?
答え1
答え2
GPG 2.1以降では、秘密鍵は~/.gnupg/private-keys-v1.d
キーのキーグリップをファイル名として使用して、各キー(サブキーを含む)内に別々のファイルとして保存されます。
<keygrip>.key
パスワード変更を使用すると、秘密鍵gpg --edit-key
ディレクトリのすべてのサブキーが変更されます。
ところで、seahorse
マスターキーの秘密鍵ファイルだけが修正されるようです。
だからこれはバグのようですseahorse
。gpg
これは、公開鍵と同様に、秘密鍵がキーリング構造に保存されていた以前のバージョンに戻ることができます。この動作は2.1以降で変更されました。
テストキーを使用した簡単なテストの結果、ハイマはマスターキーの秘密キーファイルのみを変更したことがわかりました。
3つのサブキーを持つテストキー
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
パスワードが次のように変更されました。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
パスワードが次のように変更されました。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
Haima ソースコードの確認
いくつかのSeahorseソースコードを見た後、動作は以前の秘密鍵リングGPGアプローチと一致するようです。
gpgme
マニュアルによれば、次のコマンドを使用してパスワードを変更する必要があります。gpgmegpgme_op_passwd
関数の呼び出し。ただし、この関数呼び出しはHaimaソースコードには表示されません。