GPGパスワードの変更は機能しません

GPGパスワードの変更は機能しません

鍵パスワードを変更しました。

$ gpg --edit-key <PUBKEY_ID>
passwd
<old_passphrase>
<new_passphrase>
<new_passphrase>
save

リフレッシュは使用されますが、gpgconf --reload復号化を試みても古いパスワードは引き続き使用されます。

$ gpg2 -d somefile.gpgここで、ファイルはパスワードを変更した公開サブキーを使用して暗号化されます。パスワードの入力を求められ、受け入れるだけです。<old_passphrase>

しかし、もう一度実行する$ gpg --edit-key <PUBKEY_ID>passwdする私に使ってください。<new_passphrase>鍵をロック解除します。

ここで何の問題がありますか?


KDE Neon 5.8の実行(Ubuntu 16.04 Xenialベース)

$ gpgconf --list-components
gpg:GPG for OpenPGP:/usr/bin/gpg2
gpg-agent:GPG Agent:/usr/bin/gpg-agent
scdaemon:Smartcard Daemon:/usr/lib/gnupg2/scdaemon
gpgsm:GPG for S/MIME:/usr/bin/gpgsm
dirmngr:Key Acquirer:/usr/bin/dirmngr
pinentry:PIN and Passphrase Entry:/usr/bin/pinentry

答え1

あなたの質問でパスワードを変更するために使用するコマンドはであり、復号gpg化に使用するコマンドはですgpg2

これら2つのコマンドは、2つの別々のGnuPGインストールに属します。 1つはGnuPG 1.4.x(または少なくとも2.1より前)で、もう1つはGnuPG 2.1.xです。 2つのバージョンのGnuPGは、キーを異なる方法で管理します。

パスワードを変更するには(代わりに)をgpg2使用してください。gpg2 --edit-keygpg --edit-key

から」GnuPG 2.1の新機能":

暗号化のない方法への移行を簡素化するために、gpgaの存在が検出され、secring.gpgキーはすぐにキーストアgpg-agentprivate-keys-v1.dGnuPGホームディレクトリ()の~/.gnupg下のディレクトリ)に変換されます。これは一度だけ実行され、secring.gpg既存のアイテムは再度触れませんgpg。これにより、以前のバージョンのGnuPGがGnuPG 2.1と共存できます。ただし、GnuPG 2.1以前を使用している場合は、最新バージョンを使用して秘密鍵への変更は表示されず、gpgその逆も同様です。

gpg上記のテキストはgpg2GnuPG 2.1実行可能ファイルを示しています。)

関連情報