15

CryptSignMessage 0xc000000d после Континент-АП: исправление OID

Приветствую, коллеги. После установки «Континент-АП» подпись в другой системе стала завершаться ошибкой CryptSignMessage: 0xc000000d. Переустановка сертификата не помогла.

Проблема

Ошибка подписи CryptSignMessage: 0xc000000d.

Конфликт оставил некорректные регистрации OID сразу в 64- и 32-разрядной части реестра Windows.

Как я проверил причину

  1. Создал точку восстановления.
  2. Экспортировал обе ветки реестра в отдельные REG-файлы.
  3. Проверил наличие подраздела 1.2.643.2.1.3.2.1!1 в CryptDllFindOIDInfo.

Что я сделал

  1. После резервного экспорта удалил проблемный подраздел в HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo.
  2. Проверил и при наличии удалил такой же подраздел в HKLM\SOFTWARE\Wow6432Node\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo.
  3. Перезагрузил Windows.
  4. Повторил тестовую подпись.

После очистки обеих повреждённых регистраций подпись заработала.

Важно: Это рискованная операция. Не удаляю родительские ветки и не применяю способ без резервного экспорта и подтверждения точного OID.

Как проверил результат

Тестовая подпись проходит, а остальные криптографические приложения продолжают видеть сертификаты.

Получилось или остались вопросы?

Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.

Напишите комментарий

Опишите проблему и укажите, какое решение вы уже проверили. Адрес электронной почты на сайте не публикуется.