Despejo legível por humanos da chave pública do gpg

22

Existe alguma ferramenta para escrever o conteúdo real de uma chave pública do GnuPG de uma maneira que um humano possa entender? Quero dizer, não apenas ascii-armor que um humano pode ler e digitar, mas algo que realmente divide os dados em grandes números decimais para a parte de criptografia, seqüências de caracteres para os UIDs e assim por diante? Eu realmente gostaria de ver o que há lá.

Aplicação real hoje: tenho duas chaves da mesma pessoa, criadas na mesma data, mas com impressões digitais diferentes. A suposição é que um deles foi criado a partir do outro por algum tipo de conversão, provavelmente importando a chave mais antiga para um chaveiro usando um software recente. Eu gostaria de ver o que realmente mudou. Talvez seja apenas o algoritmo de impressão digital que mudou, mas talvez exista mais.

MvG
fonte
Encontrei todas as respostas sugeridas antes de chegar a esta pergunta. Infelizmente, isso ainda é "legível por humanos", especialmente quando a chave possui muitas assinaturas. Eu realmente esperava que o gpg2 prontamente desse essas informações em algum tipo de show-keycomando :-(
Bluehorn 9/18

Respostas:

20

Experimentar

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

Não despeja os dados principais, mas mostra todos os outros detalhes. Para despejar partes de dados brutos adicionais, você precisa do sinalizador de depuração 2, portanto adicione --debug 0x02as chaves e outros dados em hexadecimal. Isso funciona nas versões 1.2 e 1.4 do GPG, mas, infelizmente, não no 2.0, pois o suporte para dados de dumping bignum (MPI) não está ativado (consulte a DBG_MPIseção g10/parse-packet.c) por algum motivo.

Tente também o pgpdump :

pgpdump < pubkey.asc
mr.spuratic
fonte
Parece bom, mas ainda omite alguns dados: algumas coisas são abreviadas como [1024 bits]ou similares. Eu gostaria de ver esses pedaços. Eu sei que você escreveu que esses não estão incluídos.
MvG 4/14
1
Encontrado, sinalizador de depuração 2, atualizado.
precisa saber é o seguinte
Esse sinalizador de depuração não funciona para mim, por algum motivo. Ele imprime uma mensagem sobre o sinalizador sendo ativado, mas não imprime informações de depuração para ele. Provavelmente terá que procurar nas fontes para descobrir o porquê… @grawity: pgpdump se parece muito com o que eu tinha em mente, obrigado. Qualquer motivo específico que você escolheu editar uma resposta existente em vez de postar uma nova. Afinal, ambas são sugestões diferentes, cada uma com seus próprios méritos e desvantagens, para que os usuários possam querer votar independentemente.
MvG
3
Esse sinalizador de depuração é para depuração MPI (bignum) ( DBG_MPI), funciona como indicado no GPG 1.2 / 1.4, mas não é suportado adequadamente no GPG 2.0.x (comentado em g10/parse-packet.c) com um "FIXME" ao lado ... @ grawity obrigado pela dica pgpdump, parece útil.
precisa saber é o seguinte
4

Enquanto esperava por respostas, li o RFC4880 (OpenPGP) e criei um código próprio para analisar e imprimir a parte relevante de um fluxo de pacotes exportados. Longe de estar completo, mas pode ser útil para outras pessoas, por isso estou postando isso também. No momento, vejo pouco benefício sobre o pgpdump sugerido pelo @grawity, mas quem sabe…

MvG
fonte
2

Eu usei o pgpdump. Ele funciona bem e mostra bons resultados legíveis por humanos. Ainda não imprime as teclas da curva elíptica, mas pelo menos diz que é uma chave EC. Se você selecionar a opção "despejar literais", ele mostrará os principais dados reais.

Brian Minton
fonte
pastebin.com/pRezWQfP é um exemplo da saída usando minha chave pública.
Brian Minton 22/09
1
Parece que o site se foi, apenas alguns invasores de domínio por lá ...
npostavs
Sim, parece que sim.
Brian Minton