Приветствую!
Решил вынести этот вопрос из темы "мануалы".
Есть возможность (даже некоторая реализация) подписи файла любого формата, путем кодирования его в BASE64.
В общем случае, программа подписывания кодирует файл (ограничение на PDF - благодаря фильтру в OpenDialog) в BASE64 встроенными функциями. Затем, она формирует XML файл, в котором открывается директива (в моем случае <FileInBASE64></FileInBASE64>) содержащая тот самый файл в читабельной кодировке. После подписания файл так и остается в "шифрованном" виде.
При верификации файла, программа сначала проверяет ЭЦП. И если она не
совпадает с вычисленными хешами - на этом дело и останавливается. Но, если хэши равны, то происходит обратное кодирование файла в оригинальный формат.
Таким образом, появляется универсальное решение подписания абсолютно любого файла, не переживая за разные реализации проверки в отдельном типе файла. Ведь, для проверки - достаточно прочесть директиву (<FileInBASE64>).
Вопрос: может ли таим способом подписывать файлы, и отправлять их в сторонние организации, при условии что я предоставлю им средство для проверки подписи и обратного кодирования файла?
"Сырой" пример реализации во вложении, посмотрите сами...
Вложенный файл:
Имя файла:
Project1.zip
Размер файла: 3,782 KB