Importe un subconjunto de subclaves privadas en GPG

3

Al tener problemas con GPG, aislar un conjunto de subclaves de otro.

En resumen, generé una clave maestra, luego tres subclaves:

  1. firma
  2. Encriptación
  3. Autorización

Parece que no puedo aislar las claves privadas de firma y encriptación de la clave de autorización. He probado los dos:

  1. Exportar / Importar solo una subclave privada específica
  2. Eliminar una subclave privada no deseada

Cuando importo una subclave, gpg no me permite importar las otras, diciendo que ya he importado una clave privada que pertenece al maestro. Y cuando elimino la única subclave privada no deseada, se eliminan todas las subclaves. Al parecer, ninguna solución funciona.

¿Qué da?

    
pregunta Farhan Yusufzai 15.05.2015 - 08:37
fuente

2 respuestas

5

Probablemente estás lidiando con dos problemas:

  • GnuPG antes de la versión 2.1 no puede combinar claves privadas, y
  • seleccionar subclaves explícitas para exportar requiere un ! después de la identificación de la clave, por ejemplo (dado que 0xdeadbeef es su ID de subclave)

    gpg --export-secret-subkeys 0xdeadbeef!
    

Las posibles soluciones a su problema son:

  • Use GnuPG 2.1 (entonces puede combinar las subclaves individuales exportadas durante la importación).
  • Exportar las subclaves requeridas todas a la vez (dado que tiene un conjunto de claves que ya contiene todas las subclaves, no funciona si se distribuyen entre varios anillos de claves, ya que requeriría unir las claves), por ejemplo

    gpg --export-secret-subkeys 0xdeadbeef! 0x12345678!
    
  • Use el comando gpgsplit para separar el mensaje OpenPGP en paquetes individuales, luego únalos manualmente en el orden correcto usando cat . Esta es una tarea bastante difícil que requiere un conocimiento más profundo del estándar OpenPGP, me gustaría ir a cualquiera de las dos primeras soluciones.

respondido por el Jens Erat 15.05.2015 - 10:51
fuente
3

La herramienta gpgsplit es ciertamente una solución, pero es muy confusa para todos menos para los expertos. Mi solución fue exportar primero la clave maestra privada a un archivo, luego las subclaves y eliminar todas las claves secretas, y luego importar solo las subclaves secretas.

Entonces:

# Export out the master key    
gpg --export-secret-keys user@host > master_secret.asc
# Export out the subkeys
gpg --export-secret-subkeys > subkeys_secret.asc
# Delete both sets of secret keys (You can also delete everything associated with that uid)
gpg --delete-secret-keys user@host
# Import in ONLY the subkeys
gpg --import subkeys_secret.asc

Solo un comentario: si este proceso fue confuso para mí, una persona bastante técnica, imagínese lo difícil que sería para una persona completamente no técnica. Esto necesita ser simplificado. Además, una vez que se han separado las claves como tales, no existe una manera simple y obvia de combinar los secretos del maestro y de las subclaves en el mismo llavero.

Esto no es una característica, es un error y debería solucionarse.

    
respondido por el Farhan Yusufzai 22.05.2015 - 00:59
fuente

Lea otras preguntas en las etiquetas