работа с GnuPG через --batch
Подскажите пожалуста как работать с GnuPg через батч. Нашел только описание файла батча к команде gen-key. а например с командой --sing и decrypt. Нужно для того что бы не поднимать пользователю непонятное окно ввода. Я понимаю что это потенциальная дыра в защите. Но все же с какими еще командами опция --batch работает
Подскажите что я делаю не так.
Хочу зашифровать и подписать файл message.txt
ввожу как сказано в инструкции команду:
gpg --output message.gpg -se -r SSSSS message.txt
ввожу свой закрытый ключь (юзер AAAAA) и получаю файло.
Но когда пытаюсь проверить подпись командой
gpg --verify message.gpg
то выдаеться сообщение
gpg: verify signatures failed: unexpected data.
когда делаю по разделениям, т.е. сначало шифрую message.txt в файл message.gpg, а затем командой --sign его подписываю получаю message1.gpg, то проверка подвиси проходит нормально.
Вот я допустим зашифровал и подписал файл. Затем все расшифровывается и проверяется нормально
Но если я сделаю так
То получу вот так:
Потому что в batchmode нельзя ввести пароль. Вы это как-то обошли?
Может лучше GPGrelay поставить между пользователем и внешней сетью?
просто нужно сделать что то обрезанное от WinPt
я думал можно использовать команды консоли <<f1.txt >>f2.txt где f1 и f2 будут файлами которые я сгенерю перед командой и считаю после. Покапался и понял что не все команды могут выполняться через файл.
шас пытаюсь общаться с GNUPG через пайпы. Для всех консольных программ все работает на ура... но для gpg не получаеться. смотрю что приходить в stdin и в stdError, но вопросов которые gpg задает по ходу например удаления ключа не могу поймать....
Слил исходник WinPt но там стока накалбашено, страшно....
Если бы Вы работали в *nix'e, то можно было бы вводить пароль через FIFO. Раз Вам такие небезопасные решения требуются. А про WinPt ничего сказать не могу.
опция --batch мне интересна так с помощью ее я смогбы работать GnuPg через командную строку не поднимая само консольное приложение клиенту.
Например удаление ключа --delete-secret-and-public-key там надо три раза сказать yes нельзя ли это дело прописать как нибуть в файл.
и я не могу найти описалово какие команды кроме --gen-key поддерживают эту опцию.
Большое спасибо за советы. Понял что GnuPG не для меня и заюзал CryptoApi от дяди билла. Конечно как всегда идеалогия через ж@, но реализуеться очень просто.
Всё зависит от поставленных требований. Совместимости ведь с OpenPGP не будет. А так есть ещё, например, PGP SDK, раз уж речь дело дошло до библиотек. И куча свободных проектов.
Есть еще libcrypt (1.2.1 now), gpgme (GnuPg Made Easy), etc.
А файл details из поставки gnupg изучали?