Estoy tratando de copiar mi clave gpg de una máquina a otra.

Sí:

gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key 

Mueve los archivos a la nueva máquina y luego:

gpg --import public.key gpg: nyckel [ID]: public key [Name, e-mail] was imported gpg: Total number of treated keys: 1 gpg: imported: 1 (RSA: 1) gpg --allow-secret-key-import private.key sec [?]/[ID] [Creation date] [Name, e-mail] ssb [?]/[SUB-ID] [Creation date] 

Todo me parece bien, pero luego:

$ gpg -d [file].gpg gpg: encrypted with 4096-bit RSA-key, id [SUB-ID], created [Creation date] [Name, e-mail] gpg: decryption failed: secret key not accessible 

Por tanto, el mensaje de error dice que el archivo se ha cifrado con [SUB-ID], que la importación de la clave secreta parece indicar que se ha importado. [SUB-ID] en ambos mensajes es el mismo).

Así que claramente estoy haciendo algo mal, pero no sé qué.

Responder

Debe agregar --import a la línea de comando para importar la clave privada. No es necesario que use el --allow-secret-key-import bandera. Según la página de manual:» Esta es una opción obsoleta y no se usa en ningún lado «.

gpg --import private.key 

Comentarios

  • Cualquier posibilidad de que ' también sepa por qué gpg2 -e -r [ID] dice " ¿No hay garantía de que esta clave pertenezca al usuario nombrado "? Desearía haberlo incluido en la pregunta original, pero lo noté solo más tarde.
  • GnuPG mantiene una base de datos de confianza que usa para decidir cuánto confiar en qué claves. Por ejemplo, confíe más en sus propias claves, claves que no están ' t firmadas directa o indirectamente por ninguna clave de confianza al menos. Después de que ' haya importado a una base de datos vacía, probablemente no se confíe en ninguna clave. Esta base de datos de confianza está separada de la base de datos o de las claves mismas, por lo que la importación de claves no las hace confiables a menos que estén firmadas por alguna clave ya confiable. Tienes que escribir GnuPG en qué claves quieres confiar por separado.
  • @Celeda, gracias, con –edit-key y el comando de confianza logré que la clave sea confiable. Dado que mi pregunta original era cómo copiar la clave de una máquina a otra, creo que sería apropiado agregar algo sobre eso a su respuesta. Yo ' prefiero no editar tu respuesta yo mismo, y parece que sabes mucho más que yo sobre esto.
  • Yo no ' No siento que entiendo el trustdb lo suficientemente bien como para hablar de ello en mi respuesta. Me ' me alegra que hayas podido resolverlo con las vagas sugerencias que di en mi comentario.
  • Ok, ' he cambiado el título de la pregunta original para que encaje más específicamente con la respuesta. De esa manera puedo hacer una pregunta separada al trustdb. Gracias por la ayuda. 🙂

Respuesta

Lo anterior es solo una respuesta parcial. La respuesta completa es:

gpg --import private.key 
  • Dado el KEYID (p. Ej. FA0339620046E260) del resultado :

    gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes) 
  • O utilice el siguiente comando automatizado:

    expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof" 

Por último, verifique que la clave ahora es de confianza con [ultimate] en lugar de [unknown]

gpg --list-keys 

Comentarios

  • Esta debería ser la respuesta aceptada. Mucho más completo.
  • ¿Qué hacen estos comandos adicionales?
  • @Steiny Hace que la clave sea confiable con [ultimate] en lugar de [unknown]. gpgtools.tenderapp.com/kb/faq/…

Respuesta

Estaba importando desde una copia de seguridad que tenía una versión antigua de gpg. Como la computadora vieja no estaba disponible, sólo la copia de seguridad, no pude exportarla primero. Esto es lo que funcionó para mí.

 gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg  

Si quieres poder importar claves secretas sin ingresar la contraseña de inmediato, use la opción --batch.

Para verificar las claves públicas:

 gpg --list-keys  

Para verificar las claves secretas:

 gpg --list-secret-keys  

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *