この質問は、「 ハッキングの少ない方法で暗号化キーの使用フラグを表示するにはどうすればよいですか? 」のコメントで発生しました。答えがはっきりしないQ&Aフォーム
TorvaldのOpenPGPキー449FA3ABを表示するには、gpg2 --list-keys 449FA3AB
を使用します。
$ gpg2 --list-keys 449FA3AB
pub 1024D/449FA3AB 1999-10-05 [expired: 2001-10-04]
uid [ expired] Linus Torvalds <[email protected]>
通常、このコマンドはサブキーもリストしますが、Torvaldのキーのサブキーは出力されません。ただし、バッチ出力を要求する場合は含まれます。
$ gpg2 --with-colons --list-keys 449FA3AB
tru::1:1414619239:1414879758:3:1:5
pub:e:1024:17:956EB7BF449FA3AB:939086351:1002158351::-:::sca:
uid:e::::939086351::81A3799583B9B1B391E4C428112F302FF2ADF462::Linus Torvalds <[email protected]>:
sub:e:2048:16:71CE8207BFF491C5:939086545:1002158545:::::e:
このトーバルズキーには、サブキーを非表示にする特別な機能があるようです。ここで何が起こったのですか?
これは特別な機能ではありませんが、Torvaldsの主キーはかなり前に期限切れになり、その結果、サブキーも期限切れになります。 GnuPGの--list-options
セクションには回答が隠されています。デフォルトでは、期限切れのサブキーが隠されているためです。 man gpg2
から:
show-unusable-subkeys
Show revoked and expired subkeys in key listings. Defaults to no.
この引数を指定すると、サブキーが表示されます。
$ gpg2 --list-options show-unusable-subkeys --list-keys 449FA3AB
pub 1024D/449FA3AB 1999-10-05 [expired: 2001-10-04]
uid [ expired] Linus Torvalds <[email protected]>
sub 2048g/BFF491C5 1999-10-05 [expired: 2001-10-04]
また、有用な faketime
プログラムを使用してこれを確認し、GnuPGのシステム時間を数年前に戻すこともできます。 Torvaldsキーが有効であった日付まで遡って、サブキーが再び表示されます。
$ faketime 2001-01-01 gpg2 --list-keys 449FA3AB
pub 1024D/449FA3AB 1999-10-05 [expires: 2001-10-04]
uid [ unknown] Linus Torvalds <[email protected]>
sub 2048g/BFF491C5 1999-10-05 [expires: 2001-10-04]