gpg:secキーとpubキーがキーリングにある場合、「キーは利用できません」

gpg:secキーとpubキーがキーリングにある場合、「キーは利用できません」

私が生成した公開鍵で暗号化されたファイルを受け取りましたが、復号化できません。

スピード:

  1. gpg --gen-key基本オプション
  2. gpg --export -a <email> > pub.key
  3. pub.keyが送信されました。
  4. 暗号化されたファイルを取得
  5. cat <file> | gpg

間違い:

$ cat cred.gpg | gpg
gpg: key 71980D35: secret key without public key - skipped
gpg: encrypted with RSA key, ID 0D54A10A
gpg: decryption failed: secret key not available

しかし、キーは私のキーリングに存在し、このキーによって生成された公開鍵は同僚に送信されたpub.keyの指紋と一致します。

$ gpg --list-secret-keys 
/home/jcope/.gnupg/secring.gpg
------------------------------
sec   2048R/71980D35 2016-03-04
uid                  me <email>
ssb   2048R/0D54A10A 2016-03-04

指紋確認

    $ gpg --with-fingerprint pub.key 
    pub  2048R/AF0A97C5 2016-03-04 me <email>
          Key fingerprint = 17A4 63BF 5A7D D3B2 C10F  15C0 EDD6 4D8A AF0A 97C5
    sub  2048R/1103CA7C 2016-03-04
$ gpg --fingerprint | grep 17a4 -i
      Key fingerprint = 17A4 63BF 5A7D D3B2 C10F  15C0 EDD6 4D8A AF0A 97C5

私はgpgの初心者ですが、なぜこれがうまくいかないのかわかりません。最も標準的な作業のようです。

ベストアンサー1

エラーメッセージを参照してください。鍵が紛失したという内容ではなく、公開鍵が紛失したという内容です。

gpg: key 71980D35:公開鍵のない秘密鍵- skipped

RSAでは、一部の数字(d、p、q、u)はプライベートで、他の数字(n、e)は公開です。暗号化と署名の確認には2つの公開アカウントのみが必要で、復号化と署名には6つの数字がすべて必要です。したがって、後の作業には実際に秘密鍵と公開鍵が必要です。

公開鍵が誤って削除されましたpubringか?

公開鍵を再インポートできます。公開鍵は広く配布された鍵なので、コピーを簡単に取り戻すことができます。

おすすめ記事