Здравствуйте!
Разбираюсь с функционалом библиотеки. Почитал документацию про методы SignData и VerifyData. В другом файле увидел, что существуют методы HashData и SignHash. При этом также на выбор есть два флага KC_HASH_GOST95 и KC_HASH_SHA256.
Правильно ли я понимаю, что при использовании метода SignData в него передаются входные данные, но при подписании внутри данного метода происходит сначала их хэширование по определенному алгоритму, например, sha256, а затем уже подписание хэша. Т.е. в полученной подписи хранится хэш данных. Далее при проверке методом VerifyData при attached вложенные данные переводятся в хэш, из подписи достается хэш и эти хэши сравниваются. При detached тоже самое, просто данные хранятся отдельно от подписанного хэша.
При использовании же HashData можно выбрать алгоритм хэширования, т.е. sha256 или Gost34311_95. И за тем подписать полученный хэш с помощью функции SignHash. Другими словами при использовании SignData нет возможности выбрать алгоритм хэширования, он задан изначально в метод. Не знаю какой он в SignData sha256 или Gost34311_95. А при использовании HashData и SignHash можно задать необходимый алгоритм хэширования.