hkey local machine software microsoft cryptography

Где в реестре находится информация о установленных считывателях для смарт-карт ?

Информация о установленных считывателях для смарт карт находится в разделе

Раздел [HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders]

Мы уже писали о том, что с переходом на версию 4.0 криптопровайдера Крипто-Про у пользователей различных систем, работающих с цифровыми ключами, стали появляться разного рода проблемы. Например, при генерации новых ключей в интерфейсе БК Россельхозбанка у пользователей, пользующихся версией Crypto-Pro CSP версии 4.0 выдавалась ошибка об отсутствии необходимого криптопровайдера и решалась установкой датчика случайных чисел (ДСЧ). Не обошла проблема стороной и пользователей СУФД. Ошибка подписи cryptsignmessage 0xc000000d — тема нашей сегодняшней статьи. Почему она появляется и как ее исправить — разбираемся вместе.

Ошибка подписи cryptsignmessage 0xc000000d в СУФД. Исправляем

Итак, ошибка программы Крипто-Про при работе с цифровыми ключами подписи, выдаваемая под номером 0xc000000d, появляется в основном на 64-битных операционных системах (Windows 7, Windows 8, Windows 8.1 и Windows 10) и серверных платформах, имеющих такую разрядность.

Для ее устранения необходимо править реестр. Если вы не обладаете навыками выше обычного пользователя компьютера — воспользуйтесь помощью более сведущих в данном вопросе товарищей или делайте все четко по инструкции. Нажмите комбинацию клавиш Win+R. (Win это клавиша в самом нижнем ряду вашей клавиатуры с фирменным знаком окошка). В открывшееся окно Выполнить введите regedit и нажмите Enter. Откроется редактор реестра, выглядеть он будет примерно так:

Далее нам надо сделать экспорт веток реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography и HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptography. Последовательно открываем эти две ветки и делаем экспорт данных. Для этого надо кликнуть правой кнопкой мыши по требуемой строке и выбрать «Экспортировать».

Со второй веткой поступаем таким же образом: выбираем место на компьютере, куда сохраним эти резервные копии веток, даем им любые имена, сохраняем. Экспорт мы делаем на случай неправильной работы программы, чтобы в случае чего можно было вернуть все назад. Далее мы удаляем из реестра следующие записи:

В некоторых версиях программы первой ветки может не быть, не удивляемся. После удаления перезагружаем компьютер, заходим в СУФД, смотрим — ушла ли ошибка cryptsignmessage 0xc000000d. Так как эта рекомендация есть на официальном сайте техподдержки продукта Крипто-Про — проблема устраняется у большинства пользователей. Для обратного экспорта значений реестра (если ошибка не ушла и требуется вернуть прошлое состояние) по экспортированной ветке необходимо кликнуть правой кнопкой мыши и выбрать Слияние.

I’m getting an error 2 trying to read the MachineGUID from the registry here is the code that I’m currently using:

All of the RegOpenKeyEx calls were put in for debugging purposes; yes I know the key should be closed. I just wanted to see if there would be an issue with the open access and there is none. The code drops all the way through to the innermost error message, the read error message.

The code was built using VS 2017 as 32-bit code. This works fine on windows 10. Can anyone tell me what the problem is?

This code should generate the problem. It uses MBCS rather than unicode.

Оцените статью