GNU/Linux >> Linux の 問題 >  >> Linux

Gpgの秘密鍵のパスフレーズを正しく変更するにはどうすればよいですか?

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を使用して変更する必要があります 関数呼び出し。ただし、この関数呼び出しは、タツノオトシゴのソースコードには表示されません。

関連:そのファイル名の複数のバリエーションが同じディレクトリに一緒に存在するファイルを検索しますか?
Linux
  1. Linuxでユーザー名を変更する方法

  2. LinuxシステムのIDを変更する方法

  3. ホスト名を変更する方法は?

  1. CentOS / RHEL :ユーザーのログイン シェルを変更する方法

  2. Linux で PATH 変数を変更する方法

  3. Linux でユーザー/グループの UID と GID を (正しく) 変更する方法

  1. Linuxでユーザーパスワードを変更する方法

  2. Linux でデフォルトのシェルを変更する方法

  3. Ubuntu でホスト名を変更する方法