VerifyData возвращает error:2E09A09E:CMS routines:CMS_SignerInfo_verify_content:verification failureCMS Verify

Добрый день!

Реализовываю проверку подлинности подписи на бэке с помощью тестовых ключей.

На фронте происходит подпись документа в base64 формате с установленными флагами:
decode: true,
encapsulate: false,
digested: false.
Обращение идет к модулю “kz.gov.pki.knca.basics”, метод “sign”.

Далее, detached подпись проверяется с помощью функции VerifyData (KalkanCryptCOM, v3.0.0.0, проект на .NET) с флагами:
KC_SIGN_CMS,
KC_IN_PEM,
KC_IN2_BASE64,
KC_OUT_BASE64,
KC_DETACHED_DATA.

Обнаружил два кейса:

  1. если подписываемые данные (string) небольшого размера, то проверка проходит успешно.
  2. если же данные большого размера, то получаю ошибку:
    error:2E09A09E:CMS routines:CMS_SignerInfo_verify_content:verification failureCMS Verify - FAILED.

При подписывании использую один и тот же ключ.

Подскажите, в чем может заключаться проблема, и как ее решить?
Правильно ли подписывать/валидировать длинную base64 строку, или размер входящих данных не имеет значения? Может необходимо пользоваться иными методами при формировании/валидации подписи?
Правильнее ли будет подписывать SHA256 хэш документа (и проверять соответственно его же)?

Добрый день!
Подскажите, в последней актуальной версии библиотеки 3.0.2.0 ошибка сохраняется?

Добрый день! В версии 3.0.2.0 проблема не обнаружена. Спасибо!