Хммм...хорошо, попробую изложить.....
Планирую ИС использовать для подписи в организации документации долгого хранения. Этакий архив.
Подписывать буду PDF документы. ИС будет построена клиент-серверной архитектурой. Пользователь, имеющий право на пользование ИС будет авторизироваться в программе по ЭЦП(есть описание в SDK).
Подписанные документы, планирую так же и распечатывать следующим образом:
1) Сервером будет вестись учет подписанных документов и его составных частей (таких как хеш, оригинал документа, открытый ключ пользователя и пр. атрибуты подписания, № документа для поиска, автор, исполнитель и прочие типичные атрибуты). Этот PDF документ будет подписываться ЭЦП пользователя(будем называть его "электронный PDF").
2) После подписания, будет формироваться "PDF документ-версия для печат"и из "электронного PDF". Он будет содержать всю информацию оригинального подписанного файла + нижний колонтитул с картинкой в виде QR-кода подписи, ссылку на сайт нашей ИС - где можно будет скачать электронный PDF с подписью. Версия для печати будет подписываться именем ЭЦП ИС (типа сервисной подписи), подтверждающей генерацию и принадлежность данного документа нашей ИС
Такой документ, можно будет уже отправить в сторонние организации, и, если им потребуется - скачают электронный PDF файл с подписью.
Сейчас, подписание PDF произвожу функцией из SDK Iolatest.SignData. Подпись проверяется, документ открывается - все ОК. Но, мне для формирования QR-кода при подписи электронного PDF, необходимо так же получить эту-же подпись в виде текста, например загнать в MEMO в BASE-овской кодировке. Что бы на ее основе, в "PDF-версию для печати" сгенерировать QR.
Реализацию QR-нашел, но каким образом, при подписывании файла можно параллельно получить эту-же подпись в МЕМО, но в BASE-64?
Аналогично, мне необходимо будет и обратная процедура: по имеющейся в QR-коде информации, получить открытый ключ, проверить подпись, получить информацию о подписанте и о времени.
Заранее спасибо!
И, да, кстати, пишу на Delphi XE5, если что.......