¿Capacidad para determinar para qué claves públicas de PGP se ha cifrado un mensaje?

3

¿Es posible determinar, dado un mensaje PGP que ya puede descifrar, para determinar para qué otras claves PGP también se ha cifrado ese mensaje?

    
pregunta Jason 27.02.2015 - 18:24
fuente

1 respuesta

7

En primer lugar, aunque usaste , supongo que lo harás En realidad estar usando GnuPG. De lo contrario, tráelo, es software libre. Aunque PGP probablemente también tendrá una funcionalidad similar.

Destinatarios ocultos

Depende. Si el remitente incluyó las huellas digitales clave del destinatario, puede recuperarlas; de lo contrario (si está cifrado con la opción --hidden-recipient ), GnuPG tiene que probar todas sus claves de descifrado privadas contra el mensaje.

Listado de destinatarios (no ocultos)

Si se incluyen los destinatarios, GnuPG los enumerará cuando se establezca en modo detallado ( --verbose ). Para evitar que GnuPG realmente descifre el mensaje, agregue --list-only . Las líneas relevantes son las que comienzan con gpg: public key is .

Esto generará subclaves públicas, que deberá resolver nuevamente usando gpg --list-keys [key-id] .

Una línea de comando completa para recuperar los destinatarios de un mensaje:

cat message.pgp | LANG=C gpg --verbose --list-only 2>&1 | grep 'gpg: public key is'

Si incluso desea resolver subclaves automáticamente, también pase por cut y xargs :

cat message.pgp | LANG=C gpg --verbose --list-only 2>&1 | grep 'gpg: public key is' | cut -d' ' -f 5 | xargs gpg --list-keys

LANG=C se usa para imponer la localización en inglés, por lo que grep ping no fallará en otros idiomas.

    
respondido por el Jens Erat 27.02.2015 - 18:42
fuente

Lea otras preguntas en las etiquetas