Исходное имя файла при декодировании – как сохранить?
GPG используется в автоматическом декодировании поступающих файлов. Иногда зашифрованные файлы дополнительно "шифруются": переименовываются в что-то нейтральное типа file.txt.
Поставлена задача восстанавливать имя исходного файла при декодировании.
- Найдена опция --use-embedded-filename, но не ясно, как ей пользоваться, т.к. используется опция --output.
- Если решить п 1., то как избежать потери данных при возможном совпадении имен? Приходит на ум: сохранить в отдельной директории, прочитать имя, проверить на совпадение в целевой директории...
Какая версия GnuPG? Используется он как часть внешнего скрипта/программы или индивидуально? Что ещё за опция --output?
версия самая свежая 1,4,5
используется в скрипте
-о в какой файл сохранять
Неважно под какой ОС, но почему бы не использовать простейший архиватор перед шифрованием в том же скрипте, который бы сохранял имя, права доступа и т.д.?
теоретически – да
но на практике это компромиссный ход. Архиватор явно избыточен, так как передается один файл, перед кодированием он сжимается, исходное имя файла хранится. Только вот как его достать?
Приведите, пожалуйста, пример декодирования с использованием опции --use-embedded-filename
с сохранением в указаной директории
Я сталкивался на практике, что так все бэкапы файлов обычно и хранятся.
В unix системах архиваторы (tar, cpio) только архивируют – собирают список файлов или файл внутрь одного файла архива, а сжимают другие программы, например gzip или bzip2. Если их не использовать, то и сжатия никакого не будет.
Разве нельзя нечто похожее организовать под Win? Может быть кто-то, кто пользуется именно опцией --use-embedded-filename скажет Вам про неё подробнее, но я бы попробывал архиваторы (разумеется не громоздкие коммерческие rar или даже zip), а настоящие архиваторы.
Очень жаль, что никто так и не привел пример декодирования с использованием опции --use-embedded-filename.
--output file
-o file
Сразу видно, кто какие программы использует :)
Тогда вроде бы стояла версия 1.4.6, и прежде чем задать вопрос, проверил наличие опции в man'е. Не было там output'а. Может искал криво, но это вряд ли.
Не помню, я gpg недавно обновлял из-за узявимости. Мне кажется что и в 1.4.6 была. Врать не буду.
Самой опции сто лет в обед (на момент написания того постинга просто о ней забыл), но в прошлой версии программы о ней не было упоминания в man'е. Не исключаю, что это могла быть моя ошибка, но могла быть и ошибка в руководстве.
Опция --output была ещё в версии 1.2.х. И, наверняка, раньше.
И в man тоже была.
Честно говоря, не понял, в чем проблема.
Получаю расшифрованый my_secret_namedfie_file.txt (с правильным именем). Проверил в GnuPG v1.4.7 под WinXP.
Странная особенность (похоже глюк) если при расшифровке использовать --batch, то в случае наличия файла с таким именем gpg отрапортует, что все OK, но файл не перепишет, а с --yes переписывает. По-хорошему, с --batch он должен вываливатьс я в failed: file exists с соответствующим кодом ошибки.