Я искал несколько дней, но пока не повезло. Возможно я ищу с плохими ключевыми словами.
Мне нужно использовать GPG для расшифровки зашифрованного файла в памяти, без записи расшифрованного содержимого на диск.
Стороннее программное обеспечение будет вызывать оболочку сценария, предоставляющую зашифрованное содержимое в качестве стандартного stdin
а ключевую фразу в качестве параметра.
Только для целей тестирования, я прочитал переменную оболочки
read pass
Затем я набрал свой пароль.
echo $pass | gpg --passphrase-fd 0 --no-comment -q --no-verbose --decrypt fichier.chiffre.armor.gpg
это дает
You need a passphrase to unlock the secret key for
user: "Myself <fake@gpg-test.com>"
2048-bit RSA key, ID 5F65F788, created 2019-02-22 (main key ID C7E00AC4)
message secret
Я хочу получить только message secret
, а не предыдущий текст, связанный с расшифровкой.
Если я позвоню echo $pass | gpg --passphrase-fd 0 --no-comment -q --no-verbose --output decrypted.txt --decrypt fichier.chiffre.armor.gpg
файл decrypted.txt
содержит только message secret
Я пытался использовать /dev/stdout
качестве параметра - -output
, но это был сбой.
echo $pass | gpg --passphrase-fd 0 --no-comment -q --no-verbose --output /dev/stdout --decrypt fichier.chiffre.armor.gpg
You need a passphrase to unlock the secret key for
user: "Myself <fake@gpg-test.com>"
2048-bit RSA key, ID 5F65F788, created 2019-02-22 (main key ID C7E00AC4)
File `/dev/stdout' exists. Overwrite? (y/N)
Любая идея о том, как это использовать только GPG?
Спасибо Себастьен