Detached signature данных из stdin и опция --set-filename – [решено]
Коллеги,
Имеется скрипт, генерирующий detached-подпись данных, которые идут из стандартного ввода: gpg -abu keyID. (Сами эти данные позднее сохраняются в файл, но на этапе генерации подписи файл ещё не существует, и лучше бы так оно и оставалось.) Проблема в том, что при сверке такой подписи gpg предлагает ввести имя файла, который был подписан, или, опять же, ввести исходный файл через stdin. Этот запрос имени файла всё портит.
Было бы крайне желательно задать имя файл наперёд ещё на этапе генерации подписи. В мане нашлась похожая опция --set-filename, но она, похоже, не действует для подписанных данных, только для зашифрованных.
Есть идеи, как это можно обойти? Подписывать файл, а не stdin — тривиальное решение, но в данном случае оно не слишком подходит, заранее убедительно прошу его не предлагать.
P.S. GnuPG 2.0.11, если это имеет значение. Проверьте, может set-filename у вас ведёт себя иначе?
комментариев: 1060 документов: 16 редакций: 32
Да, в контейнере, содержащем только подпись, имя файла не сохраняется.
Сохраняется, только если в контейнер сохранять и подписываемые данные, пусть и незашифрованные.
комментариев: 11558 документов: 1036 редакций: 4118
Это ещё более худшее решение, чем раскидывать временные файлы по диску. :) Видимо, придётся отказаться от stdin.
комментариев: 1060 документов: 16 редакций: 32
Кстати, я что-то не понимаю, как это поможет.
echo Test | gpg -abu keyID > Test1.asc
gpg -abu keyID Test
В файле Test содержится просто строка Test.
После выполнения этих двух команд файлы-результаты Test1.asc и Test.asc идентичны, и исходного имени там всё равно нет. Или имя исходного файла будет "храниться" в имени файла-подписи?
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 1060 документов: 16 редакций: 32
Стоп. А если вы заранее знаете, какое имя файла будет использоваться при сохранении потока с данными (которое в --set-filename планировали указать), то что мешает просто сохранять подпись в файл с таким же именем + ".asc"? Нужно собственно вывод gpg перенаправить в файл. Или я чего-то не понял?
комментариев: 11558 документов: 1036 редакций: 4118