Cryptsignmessage ошибка 0x80091003


Offline

vitaaaly

 


#1
Оставлено
:

10 июля 2019 г. 12:22:31(UTC)

vitaaaly

Статус: Активный участник

Группы: Участники

Зарегистрирован: 27.11.2018(UTC)
Сообщений: 33
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 4 раз в 1 постах

Добрый день.

Выполняю шифрование данных с использованием алгоритма шифрования RSA_DES_EDE3_CBC («1.2.840.113549.3.7») и сертификата с алгоритмом подписания SHA256RSA:

Код:

// определяем параметры шифрования
var encryptParams = new CryptEncryptMessagePara
{
  CbSize = Marshal.SizeOf(typeof(CryptEncryptMessagePara)),
  DwMsgEncodingType = NativeMethods.Encoding,
  HCryptProv = IntPtr.Zero,
  ContentEncryptionAlgorithm = new CryptAlgorithmIdentifier
  {
     PszObjId = "1.2.840.113549.3.7"
  }
};

// получаем размер массива с зашифрованными данными
if (!NativeMethods.CryptEncryptMessage(
  ref encryptParams,
  1,
  certificateHandlesArray.Handle.AddrOfPinnedObject(),
  contentHandle.Handle.AddrOfPinnedObject(),
  content.Length,
  null,
  ref bufferLength))
  {
    throw new InvalidOperationException(string.Format(Resources.NativeCryptoApi_EncryptContentSizeError, NativeMethods.GetLastError()));
}

На Windows данные успешно шифруются. Но на Ubuntu получаю ошибку 0x80091003.

При использовании аналогичного кода для шифрования с ГОСТовскими сертификатами и алгоритмом шифрования ГОСТ 28147-89 данные шифруются успешно и на Windows и на Ubuntu.

Подскажите, пожалуйста, с чем может быть связанна ошибка шифрования при использовании RSA_DES_EDE3_CBC на Ubuntu?


Вверх


Offline

Андрей Писарев

 


#2
Оставлено
:

10 июля 2019 г. 19:15:46(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,124
Мужчина
Российская Федерация

Сказал «Спасибо»: 460 раз
Поблагодарили: 1946 раз в 1505 постах

Здравсвуйте.

Цитата:

Но на Ubuntu

Версия…?

Сертификат … ?

Поиск по коду ошибки:
CryptEncryptMessage. The object identifier is poorly formatted. (0x80091003)

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

vitaaaly

 


#3
Оставлено
:

10 июля 2019 г. 20:01:59(UTC)

vitaaaly

Статус: Активный участник

Группы: Участники

Зарегистрирован: 27.11.2018(UTC)
Сообщений: 33
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 4 раз в 1 постах

Автор: Андрей Писарев Перейти к цитате

Здравсвуйте.

Цитата:

Но на Ubuntu

Версия…?

Сертификат … ?

Поиск по коду ошибки:
CryptEncryptMessage. The object identifier is poorly formatted. (0x80091003)

1. Ubuntu 18.04.02
2. Крипто Про 5.0.11453
3. Видел этот вопрос на форуме, но там нет решения.
4. Сертификат: cert.zip (2kb) загружен 4 раз(а).

Отредактировано пользователем 10 июля 2019 г. 20:06:49(UTC)
 | Причина: Перезалил сертификат


Вверх


Offline

Андрей Писарев

 


#4
Оставлено
:

10 июля 2019 г. 20:46:50(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,124
Мужчина
Российская Федерация

Сказал «Спасибо»: 460 раз
Поблагодарили: 1946 раз в 1505 постах

1) Нормальный сертификат сделать для начала…

Цитата:

CN = CN = ООО «ТЕРРАЛИНК»

2) Использование ключа: Цифровая подпись, Шифрование ключей (a0)
Где шифрование данных?

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

Андрей Писарев

 


#5
Оставлено
:

10 июля 2019 г. 20:48:21(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,124
Мужчина
Российская Федерация

Сказал «Спасибо»: 460 раз
Поблагодарили: 1946 раз в 1505 постах

Предлагаю для «самопроверки» зашифровать на сертификат ЦС:

Цитата:

CN = Terralink Class 1 Issuing SubCA 1

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

vitaaaly

 


#6
Оставлено
:

11 июля 2019 г. 8:45:19(UTC)

vitaaaly

Статус: Активный участник

Группы: Участники

Зарегистрирован: 27.11.2018(UTC)
Сообщений: 33
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 4 раз в 1 постах

Автор: Андрей Писарев Перейти к цитате

Предлагаю для «самопроверки» зашифровать на сертификат ЦС:

Цитата:

CN = Terralink Class 1 Issuing SubCA 1

Попробовал зашифровать с помощью данного сертификата.
Результат аналогичный: на Windows работает, на Ubuntu ошибка 0x80091003.

Отредактировано пользователем 11 июля 2019 г. 9:00:23(UTC)
 | Причина: Не указана


Вверх


Offline

vitaaaly

 


#7
Оставлено
:

11 июля 2019 г. 9:13:23(UTC)

vitaaaly

Статус: Активный участник

Группы: Участники

Зарегистрирован: 27.11.2018(UTC)
Сообщений: 33
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 4 раз в 1 постах

Автор: Андрей Писарев Перейти к цитате

1) Нормальный сертификат сделать для начала…

Цитата:

CN = CN = ООО «ТЕРРАЛИНК»

2) Использование ключа: Цифровая подпись, Шифрование ключей (a0)
Где шифрование данных?

Сделал самоподписанный сертификат в котором исправил Subject и добавил шифрование данных в свойство использование ключа.
selfCert.zip (1kb) загружен 3 раз(а).

Опять получил аналогичный результат: на Windows работает, на Ubuntu ошибка 0x80091003.


Вверх


Offline

Андрей Писарев

 


#8
Оставлено
:

11 июля 2019 г. 9:21:14(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,124
Мужчина
Российская Федерация

Сказал «Спасибо»: 460 раз
Поблагодарили: 1946 раз в 1505 постах

Другой алгоритм шифрования проверьте.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

Андрей Писарев

 


#9
Оставлено
:

11 июля 2019 г. 9:24:30(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,124
Мужчина
Российская Федерация

Сказал «Спасибо»: 460 раз
Поблагодарили: 1946 раз в 1505 постах

Зашифровал:
selfCert.zip.enc (2kb) загружен 2 раз(а).

Цитата:

355 30 NDEF: SEQUENCE {
357 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
368 30 26: SEQUENCE {
370 06 8: OBJECT IDENTIFIER rc2CBC (1 2 840 113549 3 2)
380 30 14: SEQUENCE {
382 02 2: INTEGER 160
386 04 8: OCTET STRING
: 43 C7 08 CD 8B EB 15 0A
: }
: }

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

vitaaaly

 


#10
Оставлено
:

11 июля 2019 г. 9:38:29(UTC)

vitaaaly

Статус: Активный участник

Группы: Участники

Зарегистрирован: 27.11.2018(UTC)
Сообщений: 33
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 4 раз в 1 постах

На этом алгоритме шифрования («1.2.840.113549.3.2») тоже самое: на Windows работает, на Ubuntu ошибка 0x80091003.
А вы на Ubuntu шифровали?


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.


Value: -2146889725 | 0x80091003 | 2148077571

What does it mean ?

CRYPT_E_OID_FORMAT

 

The object identifier is poorly formatted.

Value: 4099 | 0x1003 | 0b0001000000000011

Where does it come from ?


FACILITY_SSPI

 

Used for status code returned by Security Support Provider Interface (SSPI)
Value: 9 | 0x009 | 0b00001001

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

Ошибка подписи. CryptSignMessage: Отказано в доступе

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

Ошибка 0x80090010 отказано в доступе

Ошибка 0x80090010 отказано в доступе

Для начала проверьте версию КриптоПРО CSP. Если версия стабильная и рабочая – оставляем, если помимо этого сбоя присутствую другие ошибки – версию программы лучше обновить на будущее.
Ошибка 0x80090010 отказано в доступе – означает что просрочена версия открытого или закрытого ключа. Создавая запрос на выдачу сертификата для генерации ключей, мы несём необходимые бумаги для выдачи подписи через несколько недель. Контроль будет осуществляться с даты создания запроса. Тут мы используем лайфхак, об этом ниже, а для начала мы протестируем контейнер.

Проверяем контейнер

Для проверки контейнера проделаем стандартные операции перечисленные ниже:

  1. Открываем панель управления и запускаем КриптоПРО CSP. Заходим во вкладку «Сервис»;
  2. Нажимаем «Протестировать» и «Обзор»;
  3. В файловой системе находим сертификат, который мы использовали для подписи перед получением ошибки 0x80090010;
  4. Смотрим на верхнюю строчку в отчете;

    Проверка завершилась с ошибкой

    Проверка завершилась с ошибкой

  5. Видим что срок действия закрытого ключа истёк;

    Срок действия закрытого ключа истек

    Срок действия закрытого ключа истек

  6. Пролистав еще ниже и вправо вы увидите срок действия закрытого ключа.

    Срок действия закрытого ключа истек

    Срок действия закрытого ключа истек

Еще раз – ошибка подписи 0x80090010 всегда означает что истек срок действия закрытого ключа.

Как подписать документы?

Тут придется прибегнуть к маленькой хитрости, которая работала раньше во многих программах схожего типа – поменять системную дату на срок действия системного ключа:

  • Кликаем правой кнопкой мышки по часам Windows 10 и выбираем «Настройка даты и времени». Для Windows 7 — двойной клик левой кнопкой мыши.

    Настройка даты и времени

    Настройка даты и времени

  • Выбираем дату на несколько дней раньше истечения срока действия ключа.
  • Перезапускаем ПК, заново открываем КриптоПРО CSP и пробуем подписать документы.

После этого можно выдохнуть, заварить чашечку крепкого кофе… И начать готовить документы и оформлять заявку для оформления нового сертификата.

Заключение

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

Евгений Загорский

Евгений Загорский

IT специалист. Автор информационных статей на тему Андроид смартфонов и IOS смартфонов. Эксперт в области решения проблем с компьютерами и программами: установка, настройка, обзоры, советы по безопасности ваших устройств. В свободное время занимается дизайном и разработкой сайтов.

Оценка статьи:

ПлохоСреднеХорошоОчень хорошоОтлично (6 оценок, среднее: 4,50 из 5)

Загрузка…

Самое читаемое:

Как найти и посмотреть баланс на Wildberries 09.08.2023

Как найти и посмотреть баланс на Wildberries

Многие пользователи маркетплейса Вайлбдерис накопили деньги на внутреннем балансе магазина. Накапливая бонусы и…

Далее

Ошибка 102 в Блэк Раша — причины возникновения и способы устранения 08.08.2023

Ошибка 102 в Блэк Раша — причины возникновения и способы устранения

Ошибка 102 в популярной игре Black Russia свидетельствует о невозможности подключения пользователя к игровому серверу….

Далее

Как навсегда отключить истории в Телеграм на Android? Подробная инструкция 07.08.2023

Как навсегда отключить истории в Телеграм на Android? Подробная инструкция

Сторис — короткие видео и фото, доступные 24 часа, — появились в Telegram сравнительно недавно. Но этот формат уже…

Далее

Ошибка исполнения функции 0x8007065b КриптоПро CSP — причины и решение 06.08.2023

Ошибка исполнения функции 0x8007065b КриптоПро CSP — причины и решение

В Интернете много информации на тему ошибки исполнения функции 0x8007065b в КриптоПро CSP. Рассмотрим основную причину…

Далее

Detailed Error Information

CRYPT_E_OID_FORMAT[1]

Message The object identifier is poorly formatted.
Declared in winerror.h

HRESULT analysis[2]

Flags Severity Failure
Reserved (R) false
Origin Microsoft
NTSTATUS false
Reserved (X) false
Facility Code 9 (0x009)
Name FACILITY_SSPI[2][1]
Description The source of the error code is the Security API layer.[2][1]
Error Code 4099 (0x1003)

Questions

Nobody has asked any questions about this error yet.

Leave a comment below and we’ll let you know when we find a fix.

Comments

Leave a comment

Sources

  1. winerror.h from Windows SDK 10.0.14393.0
  2. https://msdn.microsoft.com/en-us/library/cc231198.aspx

User contributions licensed under CC BY-SA 3.0

TR Nesne tanımlayıcısı hatalı biçimlendirilmiş.

HU Az objektumazonosító rosszul van formázva.

NB Objektidentifikatoren er dårlig formatert.

PT O identificador do objeto tem formatação incorreta.

IT Il formato dell’identificatore di oggetto non è valido.

FI Objektitunnisteen muotoilu ei kelpaa.

ES Formato insuficiente del identificador de objeto.

CS Identifikátor objektu je chybně naformátován.

DA Objekt-id’et er forkert formateret.

KO 개체 식별자가 잘못 포맷되어 있습니다.

PL Identyfikator obiektu jest błędnie sformatowany.

NL De object-id heeft een onjuiste indeling.

EL Το αναγνωριστικό αντικειμένου δεν έχει διαμορφωθεί σωστά.

DE Der Objektbezeichner ist falsch formatiert.

FR L’identificateur de l’objet est incorrectement formaté.

JA オブジェクト識別子の形式が不完全です。

ZH 对象标识符格式不对。

SV Objektidentifieraren är felaktigt formaterad.

Понравилась статья? Поделить с друзьями:
  • Crystal disk info ошибки чтения
  • Cryptsignmessage ошибка 0x80090010
  • Crucial storage executive ошибка микропрограммы
  • Crysis sandbox 2 ошибка
  • Crowz ошибка инициализации модуля безопасности