GPGの秘密鍵のパスフレーズを変更しようとしています。
私は実際にタツノオトシゴを使ってそれを変更しました(gpg --edit-keys
も試しました およびpasswd
、しかし、秘密鍵をエクスポートしようとすると、2つのパスフレーズ(新しいものと古いものの両方)が要求され、古いものが秘密鍵として使用されます。
ここで、2つの複雑なパスワードを覚えておく必要があります!
GPGの秘密鍵のパスフレーズを変更する正しい方法は何ですか?
承認された回答:
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
Seahorseのソースコードチェック
いくつかのタツノオトシゴのソースコードを確認したところ、動作は古いシークレットキーリングのgpgメソッドと一致している可能性があります。
gpgme
によると ドキュメントでは、パスフレーズはgpgme gpgme_op_passwd
を使用して変更する必要があります 関数呼び出し。ただし、この関数呼び出しは、タツノオトシゴのソースコードには表示されません。