Remkomplekty.ru

IT Новости из мира ПК
11 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка в cryptmsgopentoencode c000000d

Ошибка подписи cryptsignmessage 0xc000000d СУФД


Мы уже писали о том, что с переходом на версию 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. Так как эта рекомендация есть на официальном сайте техподдержки продукта Крипто-Про — проблема устраняется у большинства пользователей. Для обратного экспорта значений реестра (если ошибка не ушла и требуется вернуть прошлое состояние) по экспортированной ветке необходимо кликнуть правой кнопкой мыши и выбрать Слияние.

Ошибка подписи cryptsignmessage 0xc000000d СУФД: решение

Система Удаленного Финансового Документооборота (СУФД) предназначена для облегченного взаимодействия различных компаний с Казначейством Российской Федерации. И для защиты проводимых операций используется специальное программное обеспечение, известное как Крипто-Про. Переход на четвертую версию этого ПО привел к тому, что некоторые пользователи стали сообщать о неприятном сбое – у них возникает ошибка подписи cryptsignmessage.

Код этой ошибки – 0xc000000d. В подавляющем числе случаев с ней сталкивают владельцы 64-рядных операционных систем семейства Виндовс, начиная с седьмой серии и выше.

Есть ли возможность исправить ситуацию? Решение проблемы существует, и в этой статье речь пойдет как раз про него.

Эффективный метод выправления ситуации

Итак, что требуется для исправления 0xc000000d СУФД? Чтобы выправить ситуацию, придется немного поработать с системным реестром. Многие пользователи ПК никогда не сталкивались с этой частью операционки, которая эксплуатируется на используемом ими оборудовании. Тем не менее, решить проблему можно и без наличия даже минимального опыта правки реестра – достаточно следовать этой инструкции:

  • Перейти к строке «Выполнить» через кнопку «Пуск» или задействованием комбинации клавиш «Win» + «R»;
  • Вбить в нее команду «regedit». Конечно же, без кавычек. После чего – нажать на Enter;
  • Если не ошиблись с командой, то на экране появится окошко системного реестра.
Читать еще:  U1073 ошибка mitsubishi

  • Совершаем путешествие: HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography;
  • На последней из папочек (Cryptography) кликаем правой кнопочкой компьютерной мышки и из активированного окошка выбираем вариант «Экспортировать»;
  • Система затребует указать путь, куда будет помещена резервная копия. Указать его и, естественно, запомнить.

Аналогичная операция совершается и с HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptography. То есть, повторить экспортирование и создание резервной копии.

  • Возвращаемся в реестр, находим в нем HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1;
  • Кликаем опять правой кнопкой мышки и в списке нажимаем на пункт «Удалить»;
  • Аналогично поступаем с HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1.

В некоторых ситуациях первая из приведенных выше веток может отсутствовать. Если ее нет – не стоит беспокоиться, значит так надо. После удаления – совершить перезапуск компьютерного оборудования. Дальше – попытаться зайти в СУФД и проверить, исчезла ли ошибка? Чаще всего эта методика дает нужный положительный результат, так как именно ее предлагают создатели Крипто-Про. Если же сбой продолжает проявлять себя, то рекомендуется перейти к ранее созданным резервным копиям, нажать на них ПКМ и в списке выбрать вариант «Слияние». Это позволит откатить сделанные ранее изменения. После этого – связаться с разработчиками и затребовать у них инструкцию по устранению.

Отзывы

Помогает ли эта методика? Об этом можно узнать по отзывам пользователей СУФД и КриптоПро четвертой версии:

  1. Тамара. Да, не ожидала, что переход на четвертую версию Крипто Про приведет к этой неприятной ситуации. В итоге, целый рабочий день не могла получить доступ к системе удаленного финансового документооборота. Пока случайно не увидела эту инструкцию. Повторила. Действительно все решилось.
  2. Ольга. В нашей компании специально ввели должность программиста и системного работника. Наняли молодого человека, который буквально за пять-десять минут решает вот такие ситуации. А мы с девочками пока кофе пьем.
  3. Сергей. Странно, но у меня удаление папок, описанных в инструкции, почему-то не принесло нужного результата. Хорошо, что можно вернуть все в реестре в изначальное состояние. Обратился к разработчикам ПО, жду их ответа на мое сообщение.
  4. Владимир. Создание резервных копий – очень правильный шаг. Я вот один раз ошибся и удалил совершенно не тот раздел из системного реестра. Начал паниковать, но потом вспомнил, что все у меня сохранено в другом месте. Вернул все слиянием. Более внимательно подошел к повторению инструкции. И сбой был устранен окончательно.
  5. Федор. У нас есть специально обученный сотрудник. Так вот он при возникновении этого сбоя просто установил Крипто-Про версии 3.9. И сказал, пока не решат ситуацию, на более новый вариант не стоит переходить.
Читать еще:  Integer overflow ошибка

То есть, эта проблема не является нерешаемой, а сама методика лечения – проще, чем кажется на первый взгляд.

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

  • Сообщений: 20
  • Спасибо получено: 0

При подписании в СУФД вылетает ошибка:

com.otr.cryptonew.CryptoDataException: Ошибка подписи. CryptSignMessage: 0xc000000d
at com.otr.cryptonew.service.impl.CryptoServiceImpl.signUni(CryptoServiceImpl.java:1544)
at com.otr.cryptonew.service.impl.CryptoServiceImpl.signUni(CryptoServiceImpl.java:1439)
at com.otr.cryptonew.service.impl.CryptoServiceImpl.signData(CryptoServiceImpl.java:1387)
at com.otr.sufd.services.cryptonew.impl.web.CryptoWebModel.sign(CryptoWebModel.java:74)
at com.otr.sufd.services.cryptonew.impl.web.DocSigner.sign(DocSigner.java:161)
at com.otr.sufd.services.cryptonew.impl.web.DocSigner.access$1200(DocSigner.java:26)
at com.otr.sufd.services.cryptonew.impl.web.DocSigner$4.actionPerformed(DocSigner.java:270)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.otr.cryptonew.jcaimpl.mcabridge.MCAError: CryptSignMessage: 0xc000000d
at com.otr.cryptonew.jcaimpl.mcabridge.MCAHLSignature.signData(Native Method)
at com.otr.cryptonew.jcaimpl.mcabridge.MCAHLSignature.sign(MCAHLSignature.java:59)
at com.otr.cryptonew.jcaimpl.mcabridge.JCASignatureImpl.engineSign(JCASignatureImpl.java:139)
at java.security.Signature$Delegate.engineSign(Unknown Source)
at java.security.Signature.sign(Unknown Source)
at com.otr.cryptonew.tss.cms.CMSSignedDataGenerator.generatePureSignedData(CMSSignedDataGenerator.java:561)
at com.otr.cryptonew.util.SignUtils.signData(SignUtils.java:210)
at com.otr.cryptonew.service.impl.CryptoServiceImpl.signUni(CryptoServiceImpl.java:1512)
. 30 more

Подскажите пожалуйста, как решить данную проблему?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Gvinpin
  • Ушел
  • Сообщений: 1510
  • Репутация: 19
  • Спасибо получено: 166

mfctrsk пишет: При подписании в СУФД вылетает ошибка:

com.otr.cryptonew.CryptoDataException: Ошибка подписи. CryptSignMessage: 0xc000000d

Удалите ветки реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • mfctrsk
  • Автор темы
  • Не в сети
  • Сообщений: 20
  • Спасибо получено: 0

mfctrsk пишет: При подписании в СУФД вылетает ошибка:

com.otr.cryptonew.CryptoDataException: Ошибка подписи. CryptSignMessage: 0xc000000d

Удалите ветки реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1

HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1 — эту ветку удалил.
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptographyOIDEncodingType 0CryptDllFindOIDInfo1.2.643.2.1.3.2.1!1-этой ветки нет.
После удаления проверил, ошибка осталась

А нужно удалять всю ветку или раздел 1.2.643.2.1.3.2.1!1?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

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

Номер карточки: SD0011817

При возникновении ошибки «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.

Алгоритм проверки электронной подписи:

В программном продукте 1С необходимо

1. перейти в раздел «Администрирование»

2. «Обмен электронными документами»

3. «Настройка электронной подписи и шифрования»

4. На вкладке «Сертификаты» открыть используемый сертификат

5. Нажать на кнопку «Проверить»

6. Ввести пароль закрытой части ключа (при его наличии) и нажать «Проверить»

! Обращаем Ваше внимание, что программа сама увеличит количество * в поле «Пароль:» до 16 при проверке. Данное поведение является штатным и выступает дополнительной защитой конфиденциальных данных в виде количества символов в пароле. Проверка будет осуществлена на основании введенных Вами данных .

Если в ходе проверки напротив пункта «Подписание данных» возникнет сигнализирующий об ошибке красный символ, на него необходимо нажать для открытия технической информации об ошибке.

Если в технической информации об ошибке указано » «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.» это обозначает, что проверка сертификата осуществляется без ввода пароля, хотя на контейнере закрытой части ключа установлен пароль.
Рекомендации:

Читать еще:  Ошибка 2005 при восстановлении

Уточнить у ответственных лиц организации пароль на электронную подпись.

! Обращаем Ваше внимание, что при копировании контейнера из криптопровайдера, последний просит ввести новый пароль для копии закрытой части ключа, которая в последующем могла быть установлена на Вашем рабочем месте.

! Также сообщаем, что ни техническая поддержка 1С-ЭДО, ни Удостоверяющий центр, который выдал сертификат, не располагают информацией о паролях пользователей. Данная информация является строго конфиденциальной и не подлежит разглашению. Если рекомендации Вам не помогли и пароль утрачен безвозвратно, то единственным выходом из данной ситуации будет выпуск нового сертификата.

Alex.BiT и всё-всё-всё

КриптоПро, ЭЦП, ошибка 0x80090010 Отказано в доступе

Иногда при входе на государственные сайты, где используется ЭЦП, например, Электронный бюджет, ГМУ, ЕИС, при использовании Континент АП и т.д. возникает ошибка 0x80090010 «Отказано в доступе». По моим наблюдениям, ошибка может возникнуть по нескольким причинам:

  1. Срок действия закрытого ключа истек. При этом в окне просмотра открытого ключа ЭЦП он может быть действителен еще не один год. Это именно устареванеи закрытого ключа ЭЦП. Для проверка запускаем Крипто Про, далее идем «СЕРВИСКОНТЕЙНЕР ЗАКРЫТОГО КЛЮЧАПРОТЕСТИРОВАТЬ». После окончания проверки мастер выдаст соответствующую ошибку.
  2. Второй вариант состоит в отсутствии прав доступа к файлам закрытого ключа на флешке, если файловая система на ней NTFS. Такое случается, если контейнер создавался под одним пользователем или компьютером, а используется на другом. Проверить, какая файловая система используется, можно щелкнув правой кнопкой по букве диска флешки и выбрав свойства: Для предотвращения возникновения подобной ситуации нужно либо использовать флешку с файловой системой FAT или FAT32, либо проверять права доступа на вкладке «Безопасность» и править их, если они некорректны.
  3. Если контейнер расположен в реестре Windows, но у учетной записи пользователя не хватает прав доступа. Права доступа легко проверяются в реестре человеком, имеющем представление о том, что он делает. Для этих людей вот подсказка: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCrypto ProSettingsUsers Keys

5 комментариев на “КриптоПро, ЭЦП, ошибка 0x80090010 Отказано в доступе”

  1. Сергей сказал:
    28 Сен 2018 — 12:02

Спасибо! Очень актуально оказалось

при подписи документа дает эту ошибку что делать
com.otr.cryptonew.CryptoDataException: Ошибка подписи. CryptSignMessage: Отказано в доступе. (0x80090010) at com.otr.cryptonew.service.impl.CryptoServiceImpl.signUni(CryptoServiceImpl.java:1544) at com.otr.cryptonew.service.impl.CryptoServiceImpl.signUni(CryptoServiceImpl.java:1439) at com.otr.cryptonew.service.impl.CryptoServiceImpl.signData(CryptoServiceImpl.java:1387) at com.otr.sufd.services.cryptonew.impl.web.CryptoWebModel.sign(CryptoWebModel.java:74) at com.otr.sufd.services.cryptonew.impl.web.DocSigner.sign(DocSigner.java:161) at com.otr.sufd.services.cryptonew.impl.web.DocSigner.access$1200(DocSigner.java:26) at com.otr.sufd.services.cryptonew.impl.web.DocSigner$4.actionPerformed(DocSigner.java:270) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java

Большое спасибо, очень помогли!

Спасибо Вам огромное, дело было в файловой системе флешки, настроили права и всё заработало. Впредь ЭЦП делаем только на FAT или FAT32.

А ещё лучше использовать криптоконтейнеры типа рутокен

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×