Volcado legible por humanos de clave pública gpg

22

¿Existe alguna herramienta para escribir el contenido real de una clave pública GnuPG de una manera que un humano pueda entender? Me refiero no solo a una armadura ascii que un humano puede leer y escribir, sino a algo que realmente descompone los datos en grandes números decimales para la parte criptográfica, cadenas para los UID, etc. Realmente me gustaría ver qué hay allí.

Solicitud real hoy: tengo dos claves de la misma persona, creadas en la misma fecha, pero con una huella digital diferente. La suposición es que uno de ellos fue creado a partir del otro por algún tipo de conversión, probablemente al importar la clave anterior en un llavero usando software reciente. Me gustaría ver qué cambió realmente. Tal vez solo haya cambiado el algoritmo de huellas dactilares, pero quizás haya más.

MvG
fuente
Encontré todas las respuestas sugeridas antes de llegar a esta pregunta. Desafortunadamente, esto todavía apesta a ser "legible para los humanos", especialmente cuando la clave tiene muchas firmas. Realmente esperaba que gpg2 proporcionara fácilmente esta información en algún tipo de show-keycomando :-(
Bluehorn

Respuestas:

20

Tratar

gpg --list-packets --verbose < pubkey.asc

No descarga los datos clave, pero muestra todos los demás detalles. Para volcar partes de datos sin procesar adicionales, necesita el indicador de depuración 2, así que agregue --debug 0x02, esto volcará las claves y otros datos en hexadecimal. Esto funciona en las versiones 1.2 y 1.4 de GPG, pero lamentablemente no en 2.0 ya que el soporte para descargar datos bignum (MPI) no está habilitado (ver DBG_MPIen g10/parse-packet.c) por alguna razón.

Prueba también pgpdump :

pgpdump < pubkey.asc
Sr. púrpura
fuente
Se ve bien, pero aún omite algunos datos: algunas cosas se abrevian como [1024 bits]o me gusta. Me gustaría ver esas partes. Sé que escribiste que esos no están incluidos.
MvG
1
Lo encontré, marca de depuración 2, actualizado.
mr.spuratic
Esa bandera de depuración no funciona para mí, por alguna razón. Imprime un mensaje sobre el indicador habilitado, pero no imprime la información de depuración. Probablemente tenga que buscar en las fuentes para averiguar por qué ... @grawity: pgpdump se parece mucho a lo que tenía en mente, gracias. Cualquier motivo en particular que elija editar una respuesta existente en lugar de publicar una nueva. Después de todo, ambas son sugerencias diferentes, cada una con sus propios méritos e inconvenientes, por lo que los usuarios pueden querer votar de forma independiente.
MvG
3
Este indicador de depuración es para la depuración de MPI (bignum) ( DBG_MPI), funciona como se indica en GPG 1.2 / 1.4, pero no se admite correctamente en GPG 2.0.x (está comentado g10/parse-packet.c) con un "FIXME" al lado ... @ Grawity gracias por el consejo pgpdump, parece útil.
Sr.Spuratic
4

Mientras esperaba respuestas, leí RFC4880 (OpenPGP) y se me ocurrió un código propio para analizar e imprimir la parte relevante de una secuencia de paquetes exportados. Lejos de estar completo, pero podría ser útil para otros, así que también estoy publicando esto. En este momento veo pocos beneficios sobre ese pgpdump sugerido por @grawity, pero quién sabe ...

MvG
fuente
2

He usado pgpdump. Funciona bien y muestra una buena salida legible por humanos. Todavía no imprime claves de curva elíptica, pero al menos le dirá que es una clave EC. Si selecciona la opción "volcar literales", le mostrará los datos clave reales.

Brian Minton
fuente
pastebin.com/pRezWQfP es un ejemplo de la salida utilizando mi clave pública.
Brian Minton
1
Parece que el sitio se ha ido, sólo algunos ocupantes de dominio allí ahora ...
npostavs
Sí, así parece.
Brian Minton