失効証明書の作成 - 「秘密鍵なし」

失効証明書の作成 - 「秘密鍵なし」

GPG キーを持っているので、秘密キーを持っていることを確認してその内容を印刷できます。

 $ gpg --list-secret-keys 
/home/user/.gnupg/pubring.kbx
------------------------------
sec#  rsa2048 2019-07-11 [SC]
      9EEBCEAD0915834DFCE24B11A738D3C1E6BFA616
uid           [ultimate] My Name <my.email@email>
ssb   rsa2048 2019-07-11 [E]

これを印刷するには

$ gpg --export-secret-keys -a
-----BEGIN PGP PRIVATE KEY BLOCK-----
....
-----END PGP PRIVATE KEY BLOCK-----

ただし、失効証明書を作成しようとすると、次のメッセージが表示されます。

$ gpg --gen-revoke 9EEBCEAD0915834DFCE24B11A738D3C1E6BFA616
gpg: secret keys "9EEBCEAD0915834DFCE24B11A738D3C1E6BFA616" not found: No secret key

なぜこのようなことが起こるのでしょうか? システムは、失効証明書を生成するための秘密鍵にアクセスできるはずです。

答え1

秘密鍵を持っていることが確認できる

いいえ、そうではありません。これは#、主キーの秘密部分が欠落していることを意味します。GnuPGは、いくつかの秘密部分を持っているため、エントリ全体を表示します。サブキー

各 PGP キーは、実際には複数の独立した RSA/DSA/EdDSA キーのバンドルです。キーに署名するための 1 つのキー ペア [C]、メッセージに署名するための別のキー ペア [S]、およびメッセージを復号化するための別のキー ペア [E] が常に存在します。

これらの鍵ペアは目的が異なり、セキュリティレベルも異なるため、一部の人はPGP鍵の一部を信頼度の低いマシンに意図的にエクスポートすることを選択します。つまり、誰かがラップトップを盗んだ場合、古いメールを読むことはできますが、しないだろうPGP を使用してあなたになりすますことができます。

ここで、お使いのマシンには [SC] キーの秘密部分も欠落しているため、受信した電子メールやファイルを復号化することはできますが、署名はまったくできません。また、自分のキーを編集または取り消すには、そのキー自体で署名する必要があるため、[C] 秘密キーがなければそれも不可能になります。

関連情報