GnuPG no verifica la firma mientras se desencripta

4

He firmado el archivo 1.txt , el archivo de resultados es 1.txt.asc . Cambié el contenido en el archivo 1.txt.asc (contenido firmado, no firma). Luego verifico la firma en 1.txt.asc y obtengo información de que la firma no es correcta y eso está bien. Luego cifro el 1.txt.asc modificado, el archivo de resultados es 1.txt.asc.gpg . Luego descifro ese archivo y debo obtener información de que la firma no es correcta, pero no existe tal información. De la documentación:

  

--decrypt [= file =] Descifrar archivo ... Si el archivo descifrado está firmado , la firma también se verifica.

También he guardado datos descifrados en otro archivo, luego verifiqué la firma y obtengo información de que la firma no es correcta. Así que parece que la operación de descifrado no verificó la firma. ¿Por qué es eso?

    
pregunta ctomek 16.03.2016 - 10:16
fuente

2 respuestas

2

Está bien, entonces creo que la mejor respuesta será decir que la documentación es engañosa. La frase:

  

--decrypt [= file =] Descifrar archivo ... Si el archivo descifrado está firmado , la firma también se verifica.

parece que significa que el archivo está descifrado, luego ese archivo descifrado se comprueba si contiene una firma. Si contiene una firma, esa firma se verifica.

Pero no es así. Esa línea de documentación significa que si se firmó un archivo cifrado, se comprueba esa firma.

    
respondido por el ctomek 16.03.2016 - 13:13
fuente
3

gpg verificará la firma si la firma está sobre el contenido cifrado. En otras palabras, supongamos que genera fileA.gpg de la siguiente manera:

  • gpg -r [Some ID] -o tmp.gpg -e fileA
  • gpg -s -o fileA.gpg tmp.gpg

Luego, gpg -d fileA.gpg validará la firma del contenido cifrado y luego procederá a descifrar los datos si la firma es correcta. Ahora, si hacemos esto en el orden opuesto de operaciones, es decir:

  • gpg -s -o tmp.gpg fileB
  • gpg -r [Some ID] -o fileB.gpg -e tmp.gpg

Luego, gpg -d fileB.gpg simplemente descifra el archivo y el resultado es una firma, pero gpg no procede a hacer nada con la firma. En otras palabras, gpg solo verificará la firma al realizar el descifrado si la firma es para los datos que está descifrando .

    
respondido por el puzzlepalace 16.03.2016 - 10:49
fuente

Lea otras preguntas en las etiquetas