GnuPGを使用してファイルを復号化するときに秘密鍵を指定する方法は?


22

GnuPGでファイルを復号化しようとしていますが、以下のコマンドを使用している場合:

gpg --decrypt filename.gpg

次のメッセージが表示されます。

gpg: encrypted with RSA key, ID 3662FD5E
gpg: decryption failed: No secret key

ファイルが暗号化された秘密キーは既に持っていますが、どのように指定できるのかわかりません。このキーを指す復号化を行うときに含めることができるオプションはありますか?


1
何をgpg --list-secret-keys 0x3662FD5E印刷しますか?
ジョナスシェーファー

いいえ、そうではありません。追加する方法はありますか?

秘密鍵はどのようにして入手しましたか?
ジョナスシェーファー

このIDは実際には何を表していますか?
Nishant

回答:


17

ファイルが暗号化された秘密キーは既に持っていますが、どのように指定できるのかわかりません。

これは「秘密鍵を含むファイルを持っているが、GnuPGにそれを使用するように指示する方法がわからない」と理解しています。

GnuPGでは、GnuPGキーリングにキー(パブリックとプライベートの両方)を保存する必要があります。これは簡単です

gpg --import [keyfile]

その後、既に試行した方法とまったく同じ方法でファイルを復号化できるはずです。


5
gpgは、いくつかのキーをインポートしたら、どのキーを復号化するのかを知るのに十分スマートですか?
ロールロール

はい。GnuPGがすべてのキーを試行しない場合、通常、キーは暗号化されたファイルでも参照されます。
イェンスエラ

私はプログラムでGnuPGを使用し、数百の秘密鍵を含むキーリングを使用しており、メッセージは数十の鍵で暗号化されています。すべてを試行するだけでは、少し無駄です(実際には、指定されたパスフレーズを使用してすべてのロックを解除し、動作する最初のパスフレーズを取得しようとします)。
-jlh

2
GnuPGは、キーが送信側によって隠されている場合にのみ、それらすべてを試行します。あなたのユースケースはGnuPGの設計目標の1つではないと感じています。暗号化されたファイルに保存されていないにもかかわらず正しい秘密鍵を知っている場合は、代わりに単一の秘密鍵で異なるGnuPGホームディレクトリ/キーリングを管理することを検討してください。
イェンスエラ

はい、私のユースケースはgpgに適していないようです。完全を期すために、より詳細な観察結果を以下に示します。受信者IDは非表示ではありません(-Rを使用しません)。ただし、gpgはパスフレーズを提供したキーを知らないため、これらの12個のキーを試す必要があり、物事が大幅に遅くなります。
jlhが

6
bash-4.2$ gpg --import b_secret.key
gpg: key 23E7859B: already in secret keyring
gpg: Total number processed: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1
bash-4.2$ gpg --decrypt b_txt.asc
gpg: key 23E7859B: secret key without public key - skipped
gpg: encrypted with RSA key, ID 04702E37
gpg: decryption failed: secret key not available

3
SuperUserへようこそ、あなたの提案はすでに別の答えにあります。新しい回答を作成する代わりに、その回答に投票する必要があります。あなたはまだそれをするのに十分な評判を持っていません、あなたがそうするまで待ってください。
VlastimilOvčáčík

2

gpg decryptコマンドで秘密鍵を明示的に宣言する必要はありません。keypair-公共の両方場合イェンス状態としてプライベートキー-あなたが解読しているホスト上のキーリング上に存在する、GPGは自動的に復号化に必要な秘密鍵を決定し、パスワードのチャレンジを提示します。

もつとも、すべての(非キャッシュ)キー(試してみたい場合は、多分あなたは、複数のキーで暗号化されたファイルをテストしているがスイッチ使用して、)--try-all-secrets順番にそれらをしようとして鍵リング上のすべての秘密鍵による意志サイクルを。すなわち:

gpg -d --try-all-secrets test-gpg.txt.asc

HTH-テレンス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.