Re-importar clave primaria secreta en GnuPG

2

Siguiendo el tutorial de Debian sobre subclaves me gusta crear un anillo de claves con una clave principal (SC) y dos subclaves (E y S) y luego exportar y eliminar la clave primaria secreta. Sin embargo, me cuesta volver a importar la clave secreta exportada en caso de que quiera revocar y renovar las subclaves.

Configuración inicial con dos subclaves

pub  1024R/158C07CE  created: 2015-09-21  expires: never       usage: SC
                     trust: ultimate      validity: ultimate
sub  1024R/588AC467  created: 2015-09-21  expires: never       usage: E
sub  1024R/3637E2AA  created: 2015-09-21  expires: never       usage: S
[ultimate] (1). Foobar

$ gpg -K

sec   1024R/158C07CE 2015-09-21
uid                  Foobar
ssb   1024R/588AC467 2015-09-21
ssb   1024R/3637E2AA 2015-09-21

# sec means the secret is still there

Exportar solo clave primaria, exportar solo subclaves, eliminar claves secretas y volver a importar subclaves

$ gpg --export-secret-keys 158C07CE! > primary.sec
# secret-keys with exclamation mark just exports primary keypair
$ gpg --export-secret-subkeys 158C07CE > subs.sec
$ gpg --delete-secret-keys 158C07CE
$ gpg --import subs.sec
$ gpg -K

sec#  1024R/158C07CE 2015-09-21
uid                  Foobar
ssb   1024R/588AC467 2015-09-21
ssb   1024R/3637E2AA 2015-09-21

# sec# means the secret key is missing (this is what I want)

Ahora quiero volver a importar la clave secreta principal

$ gpg --allow-secret-key-import --import primary.sec

gpg: key 158C07CE: already in secret keyring
gpg: Total number processed: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1

¿Qué? ¿Por qué?

$ gpg -K

sec#  1024R/158C07CE 2015-09-21
uid                  Foobar
ssb   1024R/588AC467 2015-09-21
ssb   1024R/3637E2AA 2015-09-21

Aquí es útil Stackexchange artículo en el que claves GPG exporta en cuyo caso

    
pregunta Gerold Meisinger 21.09.2015 - 22:19
fuente

1 respuesta

3

GnuPG pre-2.1 (es decir, GnuPG 1 y GnuPG 2) no puede combinar claves privadas. Hay diferentes formas de alcance con eso:

  • Instale GnuPG 2.1, que finalmente resolvió esta limitación.
  • Importe la clave principal privada a un nuevo conjunto de claves ( --homedir será útil para hacerlo), para la revocación solo necesita la subclave pública, no las privadas.
  • Use gpgsplit para dividir las claves secretas exportadas en los paquetes individuales, y con cat encárselas nuevamente en el orden correcto. Esto funciona muy bien, pero requiere un conocimiento más profundo de RFC 4880 (OpenPGP).

Propongo ir con GnuPG 2.1 y, si es necesario, exportar las claves privadas nuevamente y volver a GnuPG 1 o 2 si lo prefiere.

    
respondido por el Jens Erat 22.09.2015 - 00:26
fuente

Lea otras preguntas en las etiquetas