Обычно требуется подпись по ГОСТ Р 34.10-2001, с применением цифровых сертификатов X.509. При этом саму подпись потом удобно хранить на сервере в формате CMS detached.
Сразу хочется отметить, что задача это решена достаточно давно (КриптоПро CSP, CAPICOM, etc). Но есть нюансы, которые делают такое решение не всегда удобным. Для одного из проектов мы предложили решение по подписи файлов, которое реально облегчило жизнь конечным пользователям и техподдержке. О нем ниже.