Подписание любых файлов в формате XML
(0 чел.) 
  • Страница:
  • 1

ТЕМА: Подписание любых файлов в формате XML

Подписание любых файлов в формате XML 4 года, 9 мес. назад #1297

  • Andry
  • Осваиваюсь на форуме
  • Постов: 26
  • Репутация: 0
Приветствую!
Решил вынести этот вопрос из темы "мануалы".
Есть возможность (даже некоторая реализация) подписи файла любого формата, путем кодирования его в BASE64.

В общем случае, программа подписывания кодирует файл (ограничение на PDF - благодаря фильтру в OpenDialog) в BASE64 встроенными функциями. Затем, она формирует XML файл, в котором открывается директива (в моем случае <FileInBASE64></FileInBASE64>) содержащая тот самый файл в читабельной кодировке. После подписания файл так и остается в "шифрованном" виде.
При верификации файла, программа сначала проверяет ЭЦП. И если она не
совпадает с вычисленными хешами - на этом дело и останавливается. Но, если хэши равны, то происходит обратное кодирование файла в оригинальный формат.

Таким образом, появляется универсальное решение подписания абсолютно любого файла, не переживая за разные реализации проверки в отдельном типе файла. Ведь, для проверки - достаточно прочесть директиву (<FileInBASE64>).

Вопрос: может ли таим способом подписывать файлы, и отправлять их в сторонние организации, при условии что я предоставлю им средство для проверки подписи и обратного кодирования файла?

"Сырой" пример реализации во вложении, посмотрите сами...

Вложенный файл:

Имя файла: Project1.zip
Размер файла: 3,782 KB

Re: Подписание любых файлов в формате XML 4 года, 9 мес. назад #1301

  • ugotbug
  • Завсегдатай
  • Постов: 225
  • Репутация: 14
Добрый день.
Если такой способ допустим спецификацией XML\XMLDsig, то почему бы и нет?
Вопрос валидации на проверяющей стороне вам, мне кажется, стоит решать непосредственно с ними. Здесь мы не устанавливаем каких-либо рамок.
Могущественный обладатель кольца Знаний

Re: Подписание любых файлов в формате XML 4 года, 9 мес. назад #1305

  • Andry
  • Осваиваюсь на форуме
  • Постов: 26
  • Репутация: 0
Я не силен в XML, и тем более в его расширении XMLDsig, вернее - вообще не силен
Но почитав спецификации, я не обнаружил явного запрета. Ведь, XMLDsig - это метод унифицированного сохранения/чтения обычного XML. А XML позволяет мне хранить какие удобно данные, в директивах.
Главное - что будет соблюдаться одинаковая верификация подписи, и не важно - что у тебя в директивах. Ведь BASEом передают и хранят картинки, почему бы и другой тип данных не хранить в директивах?

А вы как считаете? Вы наверняка специалист по этому вопросу
  • Страница:
  • 1
FaLang translation system by Faboba