Línea de comando GnuPG: verificación de la firma KeePass

Línea de comando GnuPG: verificación de la firma KeePass

Estoy intentando verificar la firma PGP de la última versión del archivo de instalación de KeePass 2.14 conestefirma, pero este es el resultado que recibo:

C:\Program Files (x86)\GNU\GnuPG>gpg.exe --verify C:\Users\User\Desktop\KeePass-2.14-Setup.exe
gpg: no valid OpenPGP data found.
gpg: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.

C:\Program Files (x86)\GNU\GnuPG>

encontré este comandoaquí, pero no menciona los archivos ".sig" o ".asc", así que pensé que había hecho algo mal. Al leer elpaginas man, Probé además lo siguiente:

C:\Program Files (x86)\GNU\GnuPG>gpg.exe --pgpfile C:\Users\User\Desktop\KeePass-2.14-Setup.exe
gpg: Invalid option "--pgpfile"

C:\Program Files (x86)\GNU\GnuPG>

Como puedes ver, los resultados son bastante confusos...

le eché un vistazoesto en superusuario, pero ninguno de los enlaces parecía abordar realmente mi pregunta, al menos no lo suficientemente directamente como para tener una idea de cómo avanzar en esto.

¿Alguien aquí puede ayudarme con el tecnicismo esotérico de OpenPGP y el uso asociado del programa GnuPG? Me he sentido bastante tonto al aprender EBV, pero esto es más que humillante: es absolutamente debilitante y mutila cualquier confianza que tuviera con mis habilidades de TI (por otra parte, tampoco tengo justificación para alardear, ya que todavía no he obtenido mi A+). Certificado, jajaja).


ACTUALIZACIÓN 04-04-2011

Bien, me cansé de jugar con Windows y decidí hacerlo bien iniciando Ubuntu; ¡Esto por sí solo hizo que las cosas fueran mucho más lógicas!

Así que aquí está mi lista de comandos y dónde estoy:

  1. proto@type:~$ cd Desktop/
  2. proto@type:~/Desktop$ gpg --import KeePass-2.14-Setup.exe.asc gpg: no valid OpenPGP data found. gpg: Total number processed: 0
  3. proto@type:~/Desktop$ gpg --import Dominik_Reichl.asc gpg: /home/proto/.gnupg/trustdb.gpg: trustdb created gpg: key FEB7C7BC: public key "Dominik Reichl " imported gpg: Total number processed: 1 gpg: imported: 1
  4. proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe gpg: no valid OpenPGP data found. gpg: the signature could not be verified. Please remember that the signature file (.sig or .asc) should be the first file given on the command line.
  5. proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC gpg: Good signature from "Dominik Reichl " gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC
  6. proto@type:~/Desktop$ gpg --verify Dominik_Reichl.asc gpg: verify signatures failed: unexpected data

Como Mike me indicó, coloqué los archivos ".exe" y ".asc" en el mismo directorio, que es el Escritorio. Como puede ver en el código, también coloqué la clave pública "Dominik_Reichl.asc" en el directorio del Escritorio.

Por favor, tenga paciencia conmigo, ya que MD5 me ha mimado por completo; Supongo que el paso 5 anterior es el GPG equivalente a este:

C:\Users\user\>CD Desktop

C:\Users\user\Desktop>MD5Sum KeePass-2.14-Setup.exe
bae59065b24f0a6f2ed4bb9e0d6fc65f *KeePass-2.14-Setup.exe

Digo esto porque el comportamiento cambia cada vez que muevo el archivo "KeePass-2.14-Setup.exe" a una carpeta "temp" en el escritorio. Cuando ejecuto el comando este es el resultado que obtengo:

proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: no signed data
gpg: can't hash datafile: file open error

Estos resultados me han llevado a creer que se supone que debo extraer el "ID de clave DSA" y la "huella digital de clave principal" del Paso 5 y compararlos con losvalores en la parte superior de la página de firma. Entonces, ¿es aquí donde está la similitud con la verificación MD5? ¿Es esto todo lo que hay que hacer? ¿O hay un paso más? ¿Hay algún comando que uso para verificar?estosdosinstrumentos de cuerda? ¿Son esas cadenas lo que realmente necesito verificar? ¿Cuáles son esas cuerdas?



Ahora hay otro problema con el que tengo que lidiar. En los resultados de la "Huella digital de clave principal", tengo 2 espacios entre "8065" y "5626". Cuando uso una hoja de cálculo para verificar mis resultados con la cadena en la página de firma, obtengo un resultado "FALSO" debido al espacio en blanco adicional en mis resultados. Verifiqué la fuente de la página de firma para ver si el navegador estaba ignorando el espacio en blanco adicional, pero ese no es el caso.

2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC    # From Source of Signature Page
2171 BEEA D0DD 92A1 8065  5626 DCCA A5B3 FEB7 C7BC    # From My Results

Siempre que elimine ese espacio en blanco adicional, mis resultados coincidirán con los de la página de firma, pero ¿no deberían coincidir sin ninguna intervención de mi parte? ¿Debería una diferencia en los espacios en blanco ser motivo de alarma?

Desafortunadamente, las páginas de manual de GPG todavía son bastante oscuras para mí, o como algunos podrían decir "hostiles para el usuario" (busque "gpg hostil para el usuario"), por lo que necesitaré que me arrojen un par de zanahorias adicionales. Lo admito: soy tonto. De hecho, cuando todavía estaba aprendiendo a usar la verificación MD5, tuve problemas con ella casi tanto como con esto.

Respuesta1

En el primer comando que proporcionó, debería hacer referencia al archivo de firma .asc, no al archivo .exe. El archivo .exe también debe residir en el mismo directorio que el archivo .asc.

Desde la página de manual de gpg:

--verificar
      Suponga que el primer argumento es un archivo firmado o una firma separada y verifíquelo sin generar
      cualquier salida. Sin argumentos, el paquete de firmas se lee desde STDIN. Si solo se proporciona un archivo sig,
      puede ser una firma completa o una firma separada, en cuyo caso el material firmado se espera en un
      archivo sin la extensión ".sig" o ".asc". Con más de 1 argumento, el primero debe ser independiente.
      firma y los archivos restantes son el material firmado. Para leer el material firmado desde STDIN, use '-''
      como segundo nombre de archivo. Por razones de seguridad, una firma separada no puede leer el material firmado de
      STDIN sin indicarlo de la forma anterior.

Respuesta2

Parece que estás complicando demasiado las cosas :-) Intente hacer una búsqueda del ID de clave DSA FEB7C7BC enhttps://keyserver.pgp.com/vkd/GetWelcomeScreen.event¡Y creo que lo entiendes!

Respuesta3

Esta publicación es principalmente para un desglose "de la A a la Z", de esta manera, cualquiera que esté atascado en esto puede obtener una respuesta sin tener que revisar todos los comentarios. Por favor, no votes a favor de esto; el crédito es para los participantes (Mike Fitzpatrick, grawity y Jan Ivar Beddari).

Otra cosa:¡No confíes en esta publicación! Declaración contradictoria, pero publico esto con una comprensión limitada/defectuosa de cómo funciona GPG. Actualizaré esto a medida que lo comprenda mejor; Ahora mismo tengo una idea vaga de cómo funciona.

  1. Descargue la copia que desee deKeePass, el correspondienteFirmay la clave pública en el mismo directorio en su distribución de Linux favorita (en mi caso, he estado usando Ubuntu e hice del escritorio el directorio de trabajo)
    • ¡Esto es importante!ElLlave públicaen el sitio web de KeePass no debe descargarse. Debe descargar una clave pública en la que otros usuarios confíen; es de esperar que esos usuarios sean personas en las que usted confíe. ¿Cómo haces eso? Pídale a un amigo que tenga una clave pública confiable que le dé una copia; pero es posible que no necesariamente tengas un amigo que tenga eso. Bueno, gracias al post de Jan Ivar Beddari, se puede descargar una clave pública publicada por Dominik Reichl desdeaquíy use Importar la clave pública desde allí.
  2. Abra una terminal ("CTRL+ALT+T" en Ubuntu)
  3. Corrercd Desktop/
  4. Corrergpg --import %KEYNAME%.asc
  5. Corrergpg --verify %SIGNATURE%.asc
  6. Compare la huella digital clave resultante con la del sitio web KeePass

Estos son mis resultados al utilizar la clave pública de keyserver.pgp.com:

proto@type:~$ cd Desktop/

proto@type:~/Desktop$ gpg --import key0xDCCAA5B3FEB7C7BC.asc 
gpg: key FEB7C7BC: public key "Dominik Reichl " imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found

proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC
gpg: Good signature from "Dominik Reichl "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2171 BEEA D0DD 92A1 8065  5626 DCCA A5B3 FEB7 C7BC

Entonces aquí están mis resultados al usar la clave pública del sitio web de KeePass:

proto@type:~$ cd Desktop

proto@type:~/Desktop$ gpg --import Dominik_Reichl.asc
gpg: key FEB7C7BC: public key "Dominik Reichl " imported
gpg: Total number processed: 1
gpg:               imported: 1

proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC
gpg: Good signature from "Dominik Reichl "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2171 BEEA D0DD 92A1 8065  5626 DCCA A5B3 FEB7 C7BC

Como puede ver, los resultados son todos iguales, excluyendo la parte "gpg: no se encontraron claves confiables en última instancia". No estoy seguro de qué hacer con esto, pero las huellas digitales clave coinciden con las del sitio web de KeePass, lo cual es importante al verificar el archivo. Sin embargo, esto es muy diferente de verificar que la clave pública sea confiable. La clave pública es algo en lo que confías para usar o no, como si confías en un extraño. Una forma de que parezcan dignos de confianza es si tienen varias personas que avalen por ellos, lo cual es lo mismo para la clave pública. Nuevamente, esto está dentro de mi alcance limitado, por lo que también se requiere la debida diligencia de su parte.

Sin embargo, si puede esperar, editaré lentamente mis publicaciones para favorecer una representación concisa, simple y, con suerte, precisa del uso adecuado de GPG para verificar la copia de KeePass.

Respuesta4

IMPORTANTE ! Esto es sólo para su información. Si migra de una plataforma a otra (por ejemplo, de Win a Linux) y reinstala KeepAss, verifique que esté instalando el paquete correcto. KeepAssX está disponible por primera vez en repositorios, pero si usa la base de datos KeepAss2 con él, arrojará el error mencionado anteriormente.Utilice el paquete KeepAss2 para la base de datos .kbdx.

información relacionada