¿Por qué veo "Clave secreta disponible" en gpg cuando no está?

3

Mi clave maestra está fuera de línea y tengo subclaves en un Yubikey. Como se esperaba, veo sec# cuando se enumeran las claves al usar el sistema en línea:

gpg -K
sec#  4096R/2FFA7695 2016-02-01 [expires: 2020-01-31]
uid                  NAME <[email protected]>
ssb>  2048R/EA7CCF1B 2016-02-01
ssb>  2048R/1E8DA9B9 2016-02-01
ssb>  2048R/5BA60C24 2016-02-01

Sin embargo, cuando entro en modo de edición, gpg indica que el Secreto está disponible :

gpg --edit-key 2FFA7695
gpg (GnuPG) 1.4.19; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

pub  4096R/2FFA7695  created: 2016-02-01  expires: 2020-01-31  usage: C   
                     trust: ultimate      validity: ultimate
sub  2048R/EA7CCF1B  created: 2016-02-01  expires: 2018-01-31  usage: S   
sub  2048R/1E8DA9B9  created: 2016-02-01  expires: 2018-01-31  usage: E   
sub  2048R/5BA60C24  created: 2016-02-01  expires: 2018-01-31  usage: A   
[ultimate] (1). NAME <[email protected]>
[ultimate] (2)  [jpeg image of size 1234]

gpg>

Probado con varias versiones recientes de GnuPG. ¿Estoy malinterpretando este mensaje? ¿Es este otro ejemplo de la horrible interfaz de usuario de gpg o un error?

    
pregunta Jonathan Cross 20.02.2016 - 14:52
fuente

2 respuestas

3
  

Probado con varias versiones recientes de GnuPG. ¿Estoy malinterpretando este mensaje? ¿Es este otro ejemplo de la horrible interfaz de usuario de gpg o un error?

GnuPG no está completamente equivocado aquí, un código auxiliar de clave secreta está disponible para todas las claves (el # en sec# indica un código auxiliar de clave, como el > en ssb> indica claves en tarjetas inteligentes).

Pero también tienes razón con la "horrible interfaz de usuario", y esto puede muy bien considerarse un error. Habrá razones técnicas válidas para que GnuPG asuma que la clave está disponible internamente, pero no debe revelar esta información errónea al usuario. Podría haber aceptado imprimir una línea de este tipo para las claves de la tarjeta (bueno, esas claves están algo disponibles), pero no si solo existe el talón de la clave primaria privada (inútil) de una copia fuera de línea; no puede hacer cualquier cosa con él de todos modos. Solo preste atención a la salida de gpg -K , que tiene (como se describe anteriormente) una indicación mucho mejor de qué exactamente está disponible.

Incluso eliminé todas las subclaves para una prueba (y solo quedaba disponible el talón de la clave secreta principal), el mismo mensaje todavía se imprime (y no hay manera de hacer que el talón de la clave esté disponible). De hecho, addkey fallará si el mensaje de la clave no está disponible:

Secret key is available.

pub  8192R/0x4E1F799AA4FF2279  created: 2012-12-25  expires: never    usage: SC  
                               trust: ultimate      validity: ultimate
[list of UIDs, no subkeys]

gpg> addkey
Secret parts of primary key are not available.
gpg: Key generation failed: secret key not available
    
respondido por el Jens Erat 20.02.2016 - 15:54
fuente
-1

Tuve un problema similar al eliminar mi correo electrónico del trabajo del par de llaves.

Logré arreglar esto eliminando el directorio ~/.gnupg y luego volviendo a importar el secret-key . No sé por qué ~/.gnupg/ estaba en conflicto con mis claves.

    
respondido por el Mincă Daniel Andrei 30.08.2016 - 15:52
fuente

Lea otras preguntas en las etiquetas