web-dev-qa-db-fra.com

Pourquoi GPG -List-Keys est-il parfois imprimé des sous-clés, parfois pas?

Cette question s'est produite dans les commentaires de " Comment puis-je afficher les drapeaux d'utilisation pour mes clés de cryptage de manière moins pagayale? " et semble avoir besoin d'être répondu à un Formulaire de questions-réponses comme la réponse n'est pas réellement évidente.

Pour voir la clé OpenPGP de Torvald 449FA3AB, j'utilise gpg2 --list-keys 449FA3AB, quels sorties

$ gpg2 --list-keys 449FA3AB
pub   1024D/449FA3AB 1999-10-05 [expired: 2001-10-04]
uid       [ expired] Linus Torvalds <[email protected]>

Habituellement, cette commande répertorie également les sous-clés, mais aucune sous-cote n'est imprimée pour la clé de Torvald. Pourtant, lors de la demande de sortie du lot, il y en a un inclus.

$ 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:

On dirait que cette clé Torvalds a une fonctionnalité spéciale qui cache la sous-clé. Que s'est-il passé ici?

13
Jens Erat

Touches expirées

Ce n'est pas une fonctionnalité particulière, mais la clé primaire Torvalds est expirée il y a assez de temps et en conséquence également la sous-clé. La réponse est cachée dans GnuPG --list-options Section des pages de l'homme, comme par défaut, les sous-clés expirées sont cachées. De man gpg2:

show-unusable-subkeys
        Show revoked and expired subkeys in key listings. Defaults to no.

En spécifiant cet argument, la sous-clé apparaîtra:

$ 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]

Voyager dans le temps

Vous pouvez également vérifier cela à l'aide du programme utile faketime pour définir le temps du système quelques années pour GNUPG. En voyageant à une date à une date où Torvalds Key était valide, la sous-clé apparaîtra à nouveau:

$ 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]
17
Jens Erat