Добрый день!
Столкнулись с проблемой валидации документов средствами криптопровайдера kalkan версии 0.6.2, подписанных ключом GOST(старой версии, не GOST-2015) при помощи криптопровайдера kalkan версии 0.5. При этом проверка на тестовом стенде средствами kalkan версии 0.5 проходит успешно, но в лог пишется ошибка “gost big-endian block”. Видимо в новых библиотеках исключена проверка подписи в Big Endian. Нам требуется валидировать документы подписанные криптопровайдером kalkan версии 0.5, каким образом можно решить эту проблему с использованием нового криптопровайдера с поддержкой GOST-2015?
система-отправитель использует для подписания документов СДК НУЦ 2.0 для ГОСТ 2004 (библиотеки libey). Принимающая система в процессах валидации подписи использует библиотеки для Java .
До перехода принимающей системы на новый СДК НУЦ с поддержкой ГОСТ 2015 (Kalkan 0.6.2), документы, подписанные ключами ГОСТ валидировались успешно, после перехода – не валидируются (подпись определяется как невалидная).
Т.е. проблема возникает при проверке в Kalkan java 0.6.2 подписи, сгенерированной средствами C++ из прежнего СДК.
Тестовый пример данных во вложении, подпись выполнена ключом ЮЛ (Keys and Certs\Gost2004 and RSA\2022.01.18_valid\Юридическое лицо\первый руководитель\ДЕЙСТВУЮЩИЕ)
Проверили эту подпись средствами KalkanCom.dll (из нового СДК) и средствами С++ из нового СДК (KalkanCrypt-OpenSSL) – в обоих случаях результат проверки подписи – валидна. При проверке ее же средствами Java – подпись не валидна.
Непонятно почему подпись средствами Java не валидируется и почему разные средства СДК дают разный результат. Просьба помочь разобраться в причинах проблемы и подсказать способ ее решения.