usar gpg español desencriptar como comando archivos gnupg openpgp

gnupg - español - ¿Cómo mostrar los detalles de la clave gpg sin importarlo?



gpg ubuntu (5)

Tengo una copia de la clave gpg postgresql apt y me gustaría ver los detalles de la clave gpg tal como viene en el archivo. ¿Es esto posible sin importarlo a un llavero?


Cuando me encontré con esta respuesta, estaba buscando una forma de obtener un resultado que sea fácil de analizar. Para mí, la opción --with-colons hizo el truco:

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

La documentación se puede encontrar aquí .


Hay varios niveles de detalle que puede obtener al mirar los datos clave de OpenPGP: un resumen básico, una salida legible por máquina de este resumen o una lista detallada (y muy técnica) de los paquetes OpenPGP individuales.

Información clave básica

Para obtener un pico breve en un archivo de clave OpenPGP, simplemente puede pasar el nombre del archivo como parámetro o canalizar los datos clave a través de STDIN. Si no se pasa ningún comando, GnuPG intenta adivinar lo que desea hacer, y para los datos clave, esto es imprimir un resumen en la clave:

$ 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 <[email protected]> uid Jens Erat <[email protected]> uid Jens Erat <[email protected]> uid Jens Erat <[email protected]> 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]

Al configurar --keyid-format 0xlong , se imprimen ID de clave larga en lugar de las ID de clave corta inseguras :

$ 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 <[email protected]> uid Jens Erat <[email protected]> uid Jens Erat <[email protected]> uid Jens Erat <[email protected]> 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]

Proporcionar -v o -vv incluso agregará más información. Aunque prefiero imprimir los detalles del paquete en este caso (ver a continuación).

Salida legible por la máquina

GnuPG también tiene un formato de salida separado por dos puntos, que es fácilmente analizable y tiene un formato estable. El formato está documentado en el archivo GnuPG doc/DETAILS . La opción de recibir este formato es --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 <[email protected]>: uid:::::::::Jens Erat <[email protected]>: uid:::::::::Jens Erat <[email protected]>: uid:::::::::Jens Erat <[email protected]>: 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:::

Desde GnuPG 2.1.23, el gpg: WARNING: no command supplied. Trying to guess what you mean ... gpg: WARNING: no command supplied. Trying to guess what you mean ... advertencia se puede omitir usando la --import-options show-only junto con el comando - --import (esto también funciona sin --with-colons , por supuesto):

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

Para versiones anteriores: el mensaje de advertencia está impreso en STDERR, por lo que podría leer STDIN para dividir la información clave de la advertencia.

Detalles técnicos: Listado de paquetes OpenPGP

Sin instalar ningún paquete adicional, puede usar gpg --list-packets [file] para ver información sobre los paquetes OpenPGP contenidos en el archivo.

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

La pgpdump [file] funciona de manera similar a gpg --list-packets y proporciona un resultado similar, pero resuelve todos los identificadores de algoritmo en representaciones legibles. Está disponible para probablemente todas las distribuciones relevantes (en derivados Debian, el paquete se llama pgpdump como la herramienta misma).

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


La opción --list-packets analiza los datos de pgp de un archivo y genera su estructura - de una manera muy técnica. Al analizar una clave pública, puede extraer fácilmente los ID de usuario y los ID de clave de las firmas.

Tenga cuidado de que este comando solo analice el formato de datos, no valide firmas ni cosas similares.


Me parece que puedo llevarme bien simplemente:

$gpg <path_to_file>

Que salidas como esta:

$ gpg /tmp/keys/something.asc pub 1024D/560C6C26 2014-11-26 Something <[email protected]> sub 2048g/0C1ACCA6 2014-11-26

La operación no especificó en particular qué información clave es relevante. Esta salida es todo lo que me importa.


Para verificar y listar la huella dactilar de la llave (sin importarla primero en el llavero), escriba

gpg --with-fingerprint <filename>