Tengo un archivo cifrado y firmado por GPG.
En elpágina de manual para gpg, para la --decrypt
opción, dice:
Si el archivo descifrado está firmado, también se verifica la firma.
Me gustaría hacer algo más que simplemente verificar que una firma sea válida "si el archivo está firmado". Me gustaría:
- Compruebe que el archivoesfirmado
- Comprobar que la firma sea de un usuario particular o de un subconjunto de usuarios en mi llavero
¿Qué comando gpg se puede utilizar para hacer esto?
Respuesta1
La --decrypt
opción ya hace la mayor parte de eso.
$gpg --decrypt < prueba.gpg gpg: cifrado con clave RSA de 4096 bits, ID CE7B5510340F19EF, creado el 31 de octubre de 2009 "gravedad <[correo electrónico protegido]>" El WELL (o Whole Earth 'Lectronic Link) es un ejemplo de lo último en la frontera pueblos, el tablón de anuncios informático. En este tipo de ciudad pequeña, Main Street es una Minicomputadora central a la que (en el caso del WELL) se suman hasta 64 microcomputadoras. pueden estar conectados al mismo tiempo mediante líneas telefónicas y pequeñas cajas parpadeantes llamadas módems. gpg: Firma realizada 2015-05-15T07:52:55 EEST gpg: usando la clave RSA D24F6CB2C1B52632 gpg: Buena firma de "grawity <[correo electrónico protegido]>" [último] gpg: también conocido como "grawity <[correo electrónico protegido]>" [último]
Para obtener información legible por máquina, puede utilizar--status-fd
.
[GNUPG:] ENC_TO CE7B5510340F19EF 1 0 [GNUPG:] BEGIN_DECRYPTION [GNUPG:] DECRYPTION_INFO 2 9 [GNUPG:] TEXTO PLANO 62 1431665575 [GNUPG:] NOTICIA [GNUPG:] SIG_ID 8AaWsnfpINFLIVjEqk665x7fuKA 2015-05-15 1431665575 [GNUPG:] GOODSIG D24F6CB2C1B52632 gravedad <[correo electrónico protegido]> [GNUPG:] NOTACIÓN_NOMBRE[correo electrónico protegido] [GNUPG:] NOTATION_DATA 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 [GNUPG:] VALIDSIG 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 2015-05-15 1431665575 0 4 0 1 10 00 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 [GNUPG:] TRUST_ULTIMATE [GNUPG:] DECRYPTION_OKAY [GNUPG:] BUEN MDC [GNUPG:] END_DECRYPTION
Ambos GOODSIG
y VALIDSIG
aquí significan que se verificó la firma y TRUST_*
corresponden a los niveles de certificación de esa clave. Por ejemplo, las claves que haya firmado (o firmado) directamente tendrán TRUST_FULL.
Puede incluir esto en una secuencia de comandos que verifique la huella digital en VALIDSIG con una lista blanca de claves, o simplemente confiar en el modelo de confianza de claves.
Tenga en cuenta que ustedno puedocompruebe si un archivo está firmado sin descifrarlo primero, ya que PGP utiliza firmar antes de cifrar.
Respuesta2
gpg --decrypt < data.pgp > /dev/null
Esto dará como resultado el siguiente resultado:
gpg: encrypted with 4096-bit RSA key, ID B91FFCCDDEE362261A, created 2015-05-21
"Shubham Chaudhary <[email protected]>"
gpg: Signature made Mon Aug 21 23:13:03 2017 IST
gpg: using RSA key 71B6BEEFEED2DCA
gpg: issuer "Shubham Chaudhary <[email protected]>"
gpg: Good signature from "Shubham Chaudhary <[email protected]>" [ultimate]