web-dev-qa-db-ja.com

gpg:復号化に失敗しました:秘密鍵がありません

私のキーで暗号化されたファイルをgnupgで復号化できないようです。秘密鍵を古いラップトップから新しいラップトップに移行しようとしましたが、同じエラーが発生し続けます。

gpg: decryption failed: No secret key

次のようにして、古いラップトップから公開、秘密、およびサブキーをエクスポートしてみました。

gpg --export MYKEYID > pub.key
gpg --export-secret-keys MYKEYID > sec.key
gpg --export-secret-subkeys MYKEYID > sub.key

次に、それらを新しいラップトップにコピーし、次のようにインポートしました。

gpg --import pub.key
gpg --import sec.key
gpg --import sub.key

次に、鍵を編集して究極の信頼を与えました。

gpg --edit-key MYKEYID

gpg> trust
...
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

しかし、何があっても、復号化に失敗します:

gpg --decrypt -v encryptedfile.gpg
gpg: public key is E78E22A13ED8B15D
gpg: encrypted with ELG key, ID E78E22A13ED8B15D
gpg: decryption failed: No secret key

古いラップトップのバージョン:

gpg --version
gpg (GnuPG) 2.1.21
libgcrypt 1.7.6

新しいラップトップのバージョン:

gpg --version
gpg (GnuPG/MacGPG2) 2.2.3
libgcrypt 1.8.1
7
stantonk

これは完全に私のせいでした。何が起こったのかはわかりませんが、解読しようとしたファイルは、キーで暗号化されていませんでした。別のファイルを試しましたが、うまくいきました。

それがどのように起こったかはわかりませんが、古いマシンで同じファイルを最初にテストすると、かなりの時間を節約できたでしょう:).

4
stantonk

エラーがランダムに発生し始めました

gpg: decryption failed: No secret key

同様に、ファイルを復号化しようとするとき。不思議なことに、GPGは、自分のファイルとは異なるキーIDでファイルが暗号化されていると教えてくれました(名前とキーの作成日を正しく識別したにもかかわらず)。コンピュータを再起動すると、問題は解消しました。

GPGデーモンのメモリ内の一部の位置がずれる可能性があるバグがあり、それを再起動する必要があると思います。

2
Jackson

エラーが発生しました:

gpg: decryption failed: No secret key

ctrl + Cでgpgプロンプトを閉じた後、まだいくつかの状態がぶら下がっていました。

Gpg-agentプロセスを強制終了して修正しました。

$ ps aux | grep gpg-agent
user             76882   0.0  0.0  4297004    996   ??  Ss   11:51AM   0:00.02 gpg-agent --homedir /Users/user/.gnupg --use-standard-socket --daemon

$ kill 76882
1
Lucas