DSS + HSM. Ошибка при расшифровке: [Invalid type specified]. Код: [0x8009000a].
Опубликовано Никита Миронов on 2023-10-26 19:14
|
|
В последнее время в межсервисном взаимодействии между банками и госорганами (например, ФНС) участились случаи шифрования данных с применением алгоритма блочного шифрования "Кузнечик" (ГОСТ Р 34.12-2015). Произошла ошибка при вызове метода [CryptMsgControl(CMSG_CTRL_DECRYPT)]. Ошибка: [Invalid type specified]. Код: [0x8009000a]. ---> System.InvalidOperationException: Произошла ошибка при вызове метода [CryptMsgControl(CMSG_CTRL_DECRYPT)]. Ошибка: [Invalid type specified]. Код: [0x8009000a]. Плюс, при попытке расшифрования в веб-интерфейсе завершается с http error 404 запрос к точке /DecryptionWizard/Decrypt/ Причина возникновения ошибки может заключаться в том, что в HSM отсутствует поддержка алгоритма алгоритма блочного шифрования "Кузнечик" (ГОСТ Р 34.12-2015). Убедиться в наличии поддержки этого алгоритма в HSM можно с помощью команды:
Вывод команды должен содержать строку:
Алгоритм воспроизведения: 1. Зашифровать документ на сертификат, чей ключ хранится в БД DSS, зашифрованный на МК в HSM. Пример команды для шифрования:
2. Попробовать выполнить расшифрование на веб-интерфейсе DSS, путем загрузки зашифрованного документа. 3. После загрузки документа, отображения сертификата, чей ключ необходим для расшифрования, и нажатия кнопки "Расшифровать" - возникают описанные выше ошибки.
Решение: Необходимо произвести модернизацию ПАКМ КриптоПро HSM до версии 2.0 R3. Обращаем Ваше внимание: Модернизация оборудования платная услуга, осуществляемая по "Сертификату на модернизацию Аппаратной платформы ПАКМ "КриптоПро HSM" версии 2.0. Вариант исполнения 1 до Аппаратной платформы ПАКМ "КриптоПро HSM" версии 2.0 R3. Вариант исполнения 1К" https://cryptopro.ru/order/OrderForm.aspx?catid=3238ca5a-7cfc-e811-870f-0025900a9ce7 Новая прошивка HSM поддерживает все старые алгоритмы. Текущие настройки и хранимые в HSM ключи переносятся в новую версию через резервную копию HSM. После модернизации HSM дополнительных настроек на DSS не потребуется.
Временное решение (актуально только если ключ пользователя был установлен в DSS из .pfx): Установить ключ пользователя из .pfx локально на сервер или любой ПК с CSP от 5.0.12000 и выше и расшифровать данные локально на этой машине. UPD: в CSP 5.0.12922 стало возможно через оснастку "Инструменты КриптоПро" выбирать алгоритм шифрования/расшифрования на вкладке "Настройки". | |
|