Ho già la chiave privata con cui è stato crittografato il file, ma non sono sicuro di come specificarla.
Capisco questo come "Ho un file contenente la chiave privata, ma non so come dire a GnuPG di usarlo".
GnuPG richiede che le chiavi (sia pubbliche che private) siano memorizzate nel portachiavi di GnuPG. Questo è facile come
gpg --import [keyfile]
Successivamente, dovresti essere in grado di decifrare il file esattamente come hai già provato.
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
Non è necessario dichiarare espressamente la chiave segreta nel comando gpg decrypt. Se la coppia di chiavi è pubblica AND Chiavi private:poiché Jens afferma che sono presenti nel portachiavi dell'host in cui stai decrittando, GPG determinerà automaticamente la chiave segreta richiesta per la decrittazione e presenterà una verifica della password.
TUTTAVIA se desideri provare tutte le chiavi (non memorizzate nella cache) (forse stai testando un file crittografato con più chiavi ), utilizzando l'opzione --try-all-secrets
passerà in rassegna tutte le chiavi segrete del tuo portachiavi provandole a turno. cioè:
gpg -d --try-all-secrets test-gpg.txt.asc
HTH-Terence