Расшифровать файл GPG с помощью командного файла
Я расшифровываю файл gpg, используя командный файл с кодом ниже.
gpg.exe --output test.csv --batch --passphrase-fd 0 --decrypt WSB330TJ.CSTDJIDF.TXT.asc.14.04.22_00.59.gpg
Хотя он расшифровывает файл, но я должен ввести пароль вручную. Как я могу улучшить его, чтобы он автоматически выбирал ключевую фразу и расшифровывал файл без какого-либо ручного вмешательства? Что я должен добавить здесь?
3 ответа
Вы говорите GnuPG прочитать фразу-пароль из stdin, используя --passphrase-fd 0
, Существуют разные варианты чтения парольной фразы, от man gpg
:
--passphrase-fd n
Read the passphrase from file descriptor n. Only the first line
will be read from file descriptor n. If you use 0 for n, the
passphrase will be read from STDIN. This can only be used if only
one passphrase is supplied.
--passphrase-file file
Read the passphrase from file file. Only the first line will be
read from file file. This can only be used if only one passphrase
is supplied. Obviously, a passphrase stored in a file is of ques-
tionable security if other users can read this file. Don't use this
option if you can avoid it.
--passphrase string
Use string as the passphrase. This can only be used if only one
passphrase is supplied. Obviously, this is of very questionable
security on a multi-user system. Don't use this option if you can
avoid it.
Если вы используете GnuPG 2, не забудьте использовать --batch
иначе параметры парольной фразы будут игнорироваться.
Если вы сохранили фразу-пароль в файле, используйте --passphrase-file password.txt
, если вы хотите передать его как строку, используйте --passphrase "f00b4r"
(конечно, оба раза с использованием соответствующих значений параметров).
@ Thierry отметил в комментариях, что (особенно при использовании Windows) обязательно заканчивайте файл переводом строки в UNIX (\n
/ LN) вместо перевода строки Windows + возврат каретки (\n\r
/ ЛНРФ).
Для себя я должен был сделать gpg --batch --passphrase "MyPassword" --decrypt-files C:\PGPFiles\*. Pgp. Выполнение этого с --passphrase не раньше --decrypt-files всегда будет запрашивать у меня пароль. Также, как сказал Тьерри, когда я использовал файл паролей, мне пришлось использовать Notepad++ для преобразования в стиль Unix (Edit->EOL->Unix/OSX Format)
Попробуй это:
gpg2 -se --passphrase yourpassword --batch --yes -r user@mydomain.com filename