Здравствуйте!
У меня есть файла A. Даю подписанту хэш этого файла для подписи, клиент подписывает и возвращает на бэк подпись. Я храню этот подпись, делаю копию файла B (на файл ставлю щтамп).
Теперь, очередь второго подписанта. Даю второму подписанту Хэш файла B. Он тоже подписывает и возвращает подпись, я храню подпись.
Это все делается через xml или cms. У меня в БД есть 2 подписи для одного файла.
Вопрос, правильно ли процесс или?
Порядок подписи
Добрый день!
Не могли бы вы пояснить что вы имеете в виду под:
делаю копию файла B (на файл ставлю щтамп)
В том случае, если вы меняете содержимое файла, то с точки зрения цифровой подписи это уже совсем другой файл.
Тут файл А это оригинал. Пользователи подписывают только этот файл.
А файл B - это файл только для показа, добавляется туда штамп, фио подписанта итд.
Тут вопрос в том что, можно ли подписывать файл отдельно.
С форума понял что множественный подпись (вложенный) делается так:
Первый подписант подписывает исходный файл (закодированный в base64),
а второй подписант, подписывает подпись первого подписанта.
Вопрос такой:
Можно ли делать подпись отдельно. Тоесть, первый подписант исходный файл закодированный в base64, а второй подписант тоже подписывает тот же файл закодированный в base64, Считается ли это множественным подписем?
Вы немножко не понимаете что и как подписывается.
Подписывать отдельно - называется detached signature.
Подписывается всегда хэш данных, а не сами данные.
В случае если вы оба раза подписываете один и тот же бинарный код, то у вас получатся две подписи на один и тот же, в вашем случае, документ.
С форума понял что множественный подпись (вложенный) делается так:
Первый подписант подписывает исходный файл (закодированный в base64),
а второй подписант, подписывает подпись первого подписанта.
Это подход NCALayer - он, в том случае, если на подписание передают не какие-то данные, а CMS подпись, работает в специфичном режиме: он декодирует CMS и добавляет в этот CMS еще одну подпись. На сколько я помню, работает это только в том случае, если подписываемые данные внедрены в первую CMS подпись.
На самом деле так делать не обязательно - вы можете просто сформировать сколько угодно отдельных CMS подписей по отдельности.
Я не припоминаю в законодательстве РК ничего о том, как нужно делать множественную подпись, так что можно просто опираться на RFC.