¿Cómo cifrar, firmar y descifrar un archivo con gpg?

4

Estoy usando gpg para cifrar y descifrar un archivo. Aquí están los pasos que estoy haciendo tomando referencia de esta pregunta :

# Sender
gpg --encrypt --recipient [email protected] --output confidential.pgp confidential.txt
gpg -–sign –-local-user [email protected] --output signed.pgp confidential.pgp

# Recipient
gpg --decrypt –output confidential.pgp signed.pgp 
gpg --decrypt –output confidential.txt confidential.gpg

Funciona, pero ¿es esta la forma correcta de cifrar, firmar y descifrar un archivo si la verificación de la firma debe ser obligatoria al final del destinatario? Especialmente, descifrar dos veces parece un poco extraño. ¿Se puede hacer esto en un comando sencillo ?

Intenté usar --sign directamente en el comando de cifrado, pero solo advierte y descifra el archivo que no cumple con el requisito de firma obligatorio . Aquí está el manual oficial , pero no habla de hacer todo en un solo paso.

# Sender
gpg -–sign –-local-user [email protected] --encrypt --recipient [email protected] --output signed.pgp confidential.txt

# Recipient
gpg --decrypt –output confidential.txt signed.pgp

Actualización 1

Después de algunas investigaciones, encontré un pregunta que parece indicar que gnupg --sign --encrypt primero firma y luego encrypts un documento. Así que tendremos que decrypt it primero de todos modos para ver el documento. Opcionalmente, puede generar el estado usando --status-fd , que puede usarse para verificar si la firma está bien usando un script simple. Entonces el código se vería así:

# Sender
gpg -–sign –-local-user [email protected] --encrypt --recipient [email protected] --output signed.pgp confidential.txt

# Recipient
gpg --decrypt --status-fd –output confidential.txt signed.pgp | verify

donde verify es un script de shell que comprueba los registros de estado y cancela si es necesario.

    
pregunta Nishant 18.05.2018 - 10:54
fuente

0 respuestas

Lea otras preguntas en las etiquetas