Приветствую, коллеги. После установки «Континент-АП» подпись в другой системе стала завершаться ошибкой CryptSignMessage: 0xc000000d. Переустановка сертификата не помогла.
Проблема
Ошибка подписи CryptSignMessage: 0xc000000d.
Конфликт оставил некорректные регистрации OID сразу в 64- и 32-разрядной части реестра Windows.
Как я проверил причину
- Создал точку восстановления.
- Экспортировал обе ветки реестра в отдельные REG-файлы.
- Проверил наличие подраздела
1.2.643.2.1.3.2.1!1в CryptDllFindOIDInfo.
Что я сделал
- После резервного экспорта удалил проблемный подраздел в
HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo. - Проверил и при наличии удалил такой же подраздел в
HKLM\SOFTWARE\Wow6432Node\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo. - Перезагрузил Windows.
- Повторил тестовую подпись.
После очистки обеих повреждённых регистраций подпись заработала.
Важно: Это рискованная операция. Не удаляю родительские ветки и не применяю способ без резервного экспорта и подтверждения точного OID.
Как проверил результат
Тестовая подпись проходит, а остальные криптографические приложения продолжают видеть сертификаты.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.