Comment afficher les détails des clés gpg sans les importer?

j'ai une copie de l'postgresql dépôt apt clé gpg et souhaitez afficher les détails de la clé gpg comme il vient dans le fichier. Est-ce possible sans l'importer dans un trousseau de clés?

85
demandé sur Jens Erat 2014-03-03 05:10:44

5 réponses

il y a plusieurs niveaux de détail que vous pouvez obtenir en regardant les données clés OpenPGP: un résumé de base, une sortie lisible par machine de ce résumé ou une liste détaillée (et très technique) des paquets OpenPGP individuels.

Information Clé De Base

pour un bref pic à un fichier clé OpenPGP, vous pouvez simplement passer le nom du fichier comme paramètre ou pipe dans les données clés via STDIN. Si aucune commande n'est passée, GnuPG essaie de deviner ce que vous voulez faire -- et pour les données clés, c'est l'impression d'un résumé sur la clé:

$ gpg a4ff2279.asc
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
pub   rsa8192 2012-12-25 [SC]
      0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
uid           Jens Erat (born 1988-01-19 in Stuttgart, Germany)
uid           Jens Erat <jens.erat@fsfe.org>
uid           Jens Erat <jens.erat@uni-konstanz.de>
uid           Jens Erat <jabber@jenserat.de>
uid           Jens Erat <email@jenserat.de>
uid           [jpeg image of size 12899]
sub   rsa4096 2012-12-26 [E] [revoked: 2014-03-26]
sub   rsa4096 2012-12-26 [S] [revoked: 2014-03-26]
sub   rsa2048 2013-01-23 [S] [expires: 2023-01-21]
sub   rsa2048 2013-01-23 [E] [expires: 2023-01-21]
sub   rsa4096 2014-03-26 [S] [expires: 2020-09-03]
sub   rsa4096 2014-03-26 [E] [expires: 2020-09-03]
sub   rsa4096 2014-11-22 [A] [revoked: 2016-03-01]
sub   rsa4096 2016-02-24 [A] [expires: 2020-02-23]

en positionnant --keyid-format 0xlong , les identificateurs de clé longue sont imprimés au lieu de les identificateurs de clé courte non sécurisés :

$ gpg a4ff2279.asc                                                                 
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
pub   rsa8192/0x4E1F799AA4FF2279 2012-12-25 [SC]
      0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
uid                             Jens Erat (born 1988-01-19 in Stuttgart, Germany)
uid                             Jens Erat <jens.erat@fsfe.org>
uid                             Jens Erat <jens.erat@uni-konstanz.de>
uid                             Jens Erat <jabber@jenserat.de>
uid                             Jens Erat <email@jenserat.de>
uid                             [jpeg image of size 12899]
sub   rsa4096/0x0F3ED8E6759A536E 2012-12-26 [E] [revoked: 2014-03-26]
sub   rsa4096/0x2D6761A7CC85941A 2012-12-26 [S] [revoked: 2014-03-26]
sub   rsa2048/0x9FF7E53ACB4BD3EE 2013-01-23 [S] [expires: 2023-01-21]
sub   rsa2048/0x5C88F5D83E2554DF 2013-01-23 [E] [expires: 2023-01-21]
sub   rsa4096/0x8E78E44DFB1B55E9 2014-03-26 [S] [expires: 2020-09-03]
sub   rsa4096/0xCC73B287A4388025 2014-03-26 [E] [expires: 2020-09-03]
sub   rsa4096/0x382D23D4C9773A5C 2014-11-22 [A] [revoked: 2016-03-01]
sub   rsa4096/0xFF37A70EDCBB4926 2016-02-24 [A] [expires: 2020-02-23]
pub   rsa1024/0x7F60B22EA4FF2279 2014-06-16 [SCEA] [revoked: 2016-08-16]

fournissant -v ou -vv ajoutera même quelques informations supplémentaires. Je préfère imprimer les détails du paquet dans ce cas, cependant (voir ci-dessous).

Sortie Lisible Par Machine

GnuPG a également un format de sortie séparé par deux points, qui est facilement parsable et a un format stable. Le format est documenté dans GnuPG doc/DETAILS file . L'option pour recevoir ce format est --with-colons .

$ gpg --with-colons a4ff2279.asc
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
pub:-:8192:1:4E1F799AA4FF2279:1356475387:::-:
uid:::::::::Jens Erat (born 1988-01-19 in Stuttgart, Germany):
uid:::::::::Jens Erat <jens.erat@fsfe.org>:
uid:::::::::Jens Erat <jens.erat@uni-konstanz.de>:
uid:::::::::Jens Erat <jabber@jenserat.de>:
uid:::::::::Jens Erat <email@jenserat.de>:
uat:::::::::1 12921:
sub:-:4096:1:0F3ED8E6759A536E:1356517233:1482747633:::
sub:-:4096:1:2D6761A7CC85941A:1356517456:1482747856:::
sub:-:2048:1:9FF7E53ACB4BD3EE:1358985314:1674345314:::
sub:-:2048:1:5C88F5D83E2554DF:1358985467:1674345467:::
sub:-:4096:1:8E78E44DFB1B55E9:1395870592:1599164118:::
sub:-:4096:1:CC73B287A4388025:1395870720:1599164118:::
sub:-:4096:1:382D23D4C9773A5C:1416680427:1479752427:::
sub:-:4096:1:FF37A70EDCBB4926:1456322829:1582466829:::

depuis GnuPG 2.1.23, l'avertissement gpg: WARNING: no command supplied. Trying to guess what you mean ... peut être omis en utilisant l'option --import-options show-only avec la commande --import (cela fonctionne aussi sans --with-colons , bien sûr):

$ gpg --with-colons --import-options show-only --import a4ff2279
[snip]

pour les versions plus anciennes: le message d'avertissement est imprimé sur STDERR, donc vous pouvez simplement lire STDIN pour séparer les informations clés de l'avertissement.

Détails Techniques: Liste Des Paquets OpenPGP

sans installer d'autres paquets, vous pouvez utiliser gpg --list-packets [file] pour voir les informations sur les paquets OpenPGP contenus dans le fichier.

$ gpg --list-packets a4ff2279.asc
:public key packet:
    version 4, algo 1, created 1356475387, expires 0
    pkey[0]: [8192 bits]
    pkey[1]: [17 bits]
    keyid: 4E1F799AA4FF2279
:user ID packet: "Jens Erat (born 1988-01-19 in Stuttgart, Germany)"
:signature packet: algo 1, keyid 4E1F799AA4FF2279
    version 4, created 1356516623, md5len 0, sigclass 0x13
    digest algo 2, begin of digest 18 46
    hashed subpkt 27 len 1 (key flags: 03)
[snip]

le pgpdump [file] outil fonctionne de manière similaire à gpg --list-packets et fournit un résultat similaire, mais résout tous ces algorithmes identificateurs lisible représentations. Il est disponible pour probablement toutes les distributions pertinentes (sur Debian derivatives, le paquet est appelé pgpdump comme l'outil lui-même).

$ pgpdump a4ff2279.asc
Old: Public Key Packet(tag 6)(1037 bytes)
    Ver 4 - new
    Public key creation time - Tue Dec 25 23:43:07 CET 2012
    Pub alg - RSA Encrypt or Sign(pub 1)
    RSA n(8192 bits) - ...
    RSA e(17 bits) - ...
Old: User ID Packet(tag 13)(49 bytes)
    User ID - Jens Erat (born 1988-01-19 in Stuttgart, Germany)
Old: Signature Packet(tag 2)(1083 bytes)
    Ver 4 - new
    Sig type - Positive certification of a User ID and Public Key packet(0x13).
    Pub alg - RSA Encrypt or Sign(pub 1)
    Hash alg - SHA1(hash 2)
    Hashed Sub: key flags(sub 27)(1 bytes)
[snip]
106
répondu Jens Erat 2017-09-13 16:20:42

il me semble être capable de s'entendre avec tout simplement:

$gpg <path_to_file>

qui sort comme ceci:

$ gpg /tmp/keys/something.asc 
  pub  1024D/560C6C26 2014-11-26 Something <something@none.org>
  sub  2048g/0C1ACCA6 2014-11-26

l'op n'a pas précisé en particulier quelle information clé est pertinente. Cette sortie est tout ce qui m'intéresse.

25
répondu Therealstubot 2014-12-04 17:53:16

pour vérifier et lister l'empreinte digitale de la clé (sans l'importer dans le premier trousseau), tapez

gpg --with-fingerprint <filename>
21
répondu Ronny Andersson 2016-03-08 16:48:43

l'option --list-packets analyse les données pgp d'un fichier et affiche sa structure - d'une manière très technique, cependant. Lors de l'analyse d'une clé publique, vous pouvez facilement extraire les id utilisateur et l'id de clé de signatures.

méfiez-vous que cette commande seulement analyse le format de données, il ne fait aucune validation de signatures ou choses similaires.

3
répondu Skyr 2014-03-03 13:00:27

quand je suis tombé sur cette réponse, je cherchais un moyen d'obtenir une sortie qui est facile à analyser. Pour moi, l'option --with-colons a fait l'affaire:

$ gpg --with-colons file
sec::4096:1:AAAAAAAAAAAAAAAA:YYYY-MM-DD::::Name (comment) email
ssb::4096:1:BBBBBBBBBBBBBBBB:YYYY-MM-DD::::

Documentation peut être trouvé ici .

1
répondu Heye 2017-05-10 13:20:39