
Estoy intentando descifrar un archivo con GnuPG, pero cuando uso el siguiente comando:
gpg --decrypt filename.gpg
Recibo el siguiente mensaje:
gpg: encrypted with RSA key, ID 3662FD5E
gpg: decryption failed: No secret key
Ya tengo la clave privada con la que se ha cifrado el archivo, pero no estoy seguro de cómo puedo especificarla. ¿Hay alguna opción que pueda incluir al realizar el descifrado para señalar esta clave?
Respuesta1
Ya tengo la clave privada con la que se ha cifrado el archivo, pero no estoy seguro de cómo puedo especificarla.
Entiendo esto como "Tengo un archivo que contiene la clave privada, pero no sé cómo decirle a GnuPG que lo use".
GnuPG requiere que las claves (tanto públicas como privadas) se almacenen en el conjunto de claves de GnuPG. Esto es tan fácil como
gpg --import [keyfile]
Luego, debería poder descifrar el archivo exactamente de la manera que ya lo intentó.
Respuesta2
bash-4.2$ gpg --import b_secret.key
gpg: key 23E7859B: already in secret keyring
gpg: Total number processed: 1
gpg: secret keys read: 1
gpg: secret keys unchanged: 1
bash-4.2$ gpg --decrypt b_txt.asc
gpg: key 23E7859B: secret key without public key - skipped
gpg: encrypted with RSA key, ID 04702E37
gpg: decryption failed: secret key not available
Respuesta3
No es necesario declarar expresamente la clave secreta en el comando gpg decrypt. Si el par de claves, tanto públicoYClaves privadas: como afirma Jens, están presentes en el conjunto de claves del host donde estás descifrando,GPG determinará automáticamente la clave secreta requerida para el descifrado y presentará un desafío de contraseña.
SIN EMBARGOsi desea probar todas las claves (no almacenadas en caché) (tal vez estés probando un archivo cifrado con varias claves), al usar el interruptor --try-all-secrets
se recorrerán todas las claves secretas de su llavero probándolas por turno. es decir:
gpg -d --try-all-secrets test-gpg.txt.asc
HTH - Terrence