| ||||
| ||||
Если при вызове CreateHash в качестве параметра Algid передать алгоритм хеширования, не поддерживаемый КриптоПро, например CALG_SHA1, то функция НЕ вернет ошибку, и при этом создаст дискриптор хеша. Дальнейшие вызовы функций: *HashData *SignHash для получения размера будут работать нормально. Последствия вылезут при втором вызове *SignHash для получения значения подписи. Результат обескураживает. Второй вызов *SignHash происходит без ошибок, но значение подписи (pbSignature) не изменяется. Корректнее будет, если CreateHash сразу сообщит, что не поддерживает подобыный алгрритм хеширования | ||||
Ответы: | ||||
| ||||
был "некорректный" софт, который вынудил поддержать SHA1 (хэш создается и считается корректно). Подпись просто не возвращает ошибки при попытке подписи sha1. | ||||
| ||||
Отразите это в документации, или хотя бы в тексте подписи возвращайте описание ошибки. А то сейчас ее только по этому форуму можно найти. | ||||