Меню

Ошибка при обработке криптографического сообщения 0x80091001


Offline

kazaza

 


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

29 мая 2012 г. 14:32:22(UTC)

kazaza

Статус: Участник

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

Зарегистрирован: 24.05.2012(UTC)
Сообщений: 15

Здравствуйте.
Есть программа, которая использует функции Sharpei для подписания файлов. Проверка также производится функциями Sharpei, в другой программе. Всё хорошо, всё проверяется, все счастливы. Однако когда мы хотим проверить созданную подпись с cryptcp, возникает ошибка — 80091001. При проверке на http://notary.cryptopro.ru ошибка «Подлинность документа НЕ ПОДТВЕРЖДЕНА: не поддерживаемый формат электронного документа.» Может ли быть такое, что в нашей программе неправильно происходит запись в файл подписи?
Исходник прилагаю.
http://rghost.ru/38347431


Вверх


Offline

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

 


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

29 мая 2012 г. 14:38:26(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

kazaza написал:

Здравствуйте.
Есть программа, которая использует функции Sharpei для подписания файлов. Проверка также производится функциями Sharpei, в другой программе. Всё хорошо, всё проверяется, все счастливы. Однако когда мы хотим проверить созданную подпись с cryptcp, возникает ошибка — 80091001. При проверке на http://notary.cryptopro.ru ошибка «Подлинность документа НЕ ПОДТВЕРЖДЕНА: не поддерживаемый формат электронного документа.» Может ли быть такое, что в нашей программе неправильно происходит запись в файл подписи?
Исходник прилагаю.
http://rghost.ru/38347431

Цитата:

Однако когда мы хотим проверить созданную подпись с cryptcp, возникает ошибка — 80091001

0x80091001 Ошибка при обработке криптографического сообщения.

Цитата:

«Подлинность документа НЕ ПОДТВЕРЖДЕНА: не поддерживаемый формат электронного документа.»

ЭЦП не в pkcs7 формате

Код:


 //Подписываем хеш
            byte[] SignedHashValue = GostFormatter.CreateSignature(hashValue);
            FileStream fileStl = new FileStream(SignatureFilePath, FileMode.OpenOrCreate,
               FileAccess.ReadWrite, FileShare.ReadWrite);
            fileStl.Write(SignedHashValue, 0, SignedHashValue.Length);
            fileStl.Dispose();
            myhash.Clear();

Цитата:

CreateSignature
Возвращаемое значение
Подпись в виде байтового массива.

Отредактировано пользователем 29 мая 2012 г. 14:41:31(UTC)
 | Причина: Не указана

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


Вверх

WWW


Offline

kazaza

 


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

29 мая 2012 г. 14:40:40(UTC)

kazaza

Статус: Участник

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

Зарегистрирован: 24.05.2012(UTC)
Сообщений: 15

Да, она самая. Отчего она возникнуть может?
Update: нет. Согласно коду, который я прикрепила, мы просто вычисляем хэш, подписываем его и записываем в файл.
Update2: а как создать подпись в pkcs из того, что мы получили?
Update3: нашла в примерах cms. Попробую и отпишусь, получилось или нет.

Отредактировано пользователем 29 мая 2012 г. 14:47:10(UTC)
 | Причина: Не указана


Вверх


Offline

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

 


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

29 мая 2012 г. 14:46:07(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

kazaza написал:

Да, она самая. Отчего она возникнуть может?
Update: нет. Согласно коду, который я прикрепила, мы просто вычисляем хэш, подписываем его и записываем в файл.
Update2: а как создать подпись в pkcs из того, что мы получили?

КриптоПро Sharpei SDK :

chm: ПримерыПримеры работы с форматом PKCS/CMS
файлы: Crypto ProSharpei SDKExamplessimpleCMScs SingleSigner.cs и т.д.

Отредактировано пользователем 29 мая 2012 г. 14:49:58(UTC)
 | Причина: Не указана

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


Вверх

WWW


Offline

kazaza

 


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

30 мая 2012 г. 17:55:20(UTC)

kazaza

Статус: Участник

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

Зарегистрирован: 24.05.2012(UTC)
Сообщений: 15

Ошибка:
http://rghost.ru/38371609/image.png
Код:
http://rghost.ru/38371634


Вверх


Offline

Георгий Садофьев

 


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

30 мая 2012 г. 21:24:03(UTC)

Георгий Садофьев

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

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

Зарегистрирован: 14.10.2011(UTC)
Сообщений: 113
Мужчина

Поблагодарили: 20 раз в 19 постах

Судя по коду Вы отсоединенную подпись создаете

Код:

SignedCms signedCms = new SignedCms(contentInfo, true);

Тогда, чтобы ее проверить Вам нужно так проверку делать:

Код:

static bool VerifyMsg(Byte[] msg, 
            byte[] encodedSignature)
        {
            // Создаем объект ContentInfo по сообщению.
            // Это необходимо для создания объекта SignedCms.
            ContentInfo contentInfo = new ContentInfo(msg);

            // Создаем SignedCms для декодирования и проверки.
            SignedCms signedCms = new SignedCms(contentInfo, true);

            // Декодируем подпись
            signedCms.Decode(encodedSignature);

            // Перехватываем криптографические исключения, для 
            // возврата о false значения при некорректности подписи.
            try
            {
                // Проверяем подпись. В данном примере не 
                // проверяется корректность сертификата подписавшего.
                // В рабочем коде, скорее всего потребуется построение
                // и проверка корректности цепочки сертификата.
                Console.Write("Проверка подписи сообщения ... ");
                signedCms.CheckSignature(true);
                Console.WriteLine("Успешно.");
            }
            catch (System.Security.Cryptography.CryptographicException e)
            {
                Console.WriteLine("Функция VerifyMsg возбудила исключение:  {0}",
                    e.Message);
                Console.WriteLine("Проверка PKCS #7 сообщения завершилась " +
                    "неудачно. Возможно сообщене, подпись, или " +
                    "соподписи модифицированы в процессе передачи или хранения. " +
                    "Подписавший или соподписавшие возможно не те " +
                    "за кого себя выдают. Достоверность и/или целостность " +
                    "сообщения не гарантируется. ");
                return false;
            }

            return true;
        }

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


Вверх

WWW


Offline

kazaza

 


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

31 мая 2012 г. 12:30:32(UTC)

kazaza

Статус: Участник

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

Зарегистрирован: 24.05.2012(UTC)
Сообщений: 15

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

Код:

Encoding unicode = Encoding.Unicode;
byte[] msgBytes = unicode.GetBytes(msg);

Зачем вообще мы используем

Код:

Encoding unicode = Encoding.Unicode;

?

Отредактировано пользователем 31 мая 2012 г. 12:33:20(UTC)
 | Причина: Не указана


Вверх


Offline

Георгий Садофьев

 


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

31 мая 2012 г. 14:19:05(UTC)

Георгий Садофьев

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

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

Зарегистрирован: 14.10.2011(UTC)
Сообщений: 113
Мужчина

Поблагодарили: 20 раз в 19 постах

Покажите, как проверяете подпись cryptcp?
Какую подпись проверяете (отделённую или присоединённую)?

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


Вверх

WWW


Offline

kazaza

 


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

31 мая 2012 г. 14:26:24(UTC)

kazaza

Статус: Участник

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

Зарегистрирован: 24.05.2012(UTC)
Сообщений: 15

cryptcp -vsignf test2.txt -f test2.txt.sgn
test2.tx — исходный файл
test2.txt.sgn — файл подписи
Проверяем отделенную подпись.


Вверх


Offline

Георгий Садофьев

 


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

31 мая 2012 г. 14:42:54(UTC)

Георгий Садофьев

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

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

Зарегистрирован: 14.10.2011(UTC)
Сообщений: 113
Мужчина

Поблагодарили: 20 раз в 19 постах

А в самой программе вы вычисляете подпись для файла test2.txt?
То есть считываете байты из этого файла?
Или, как в примере, подписываете какую-то строку, записываете подпись в файл test2.txt.sgn, а потом просто создаете файл test2.txt, в котором подписываемая строка содержится?

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


Вверх

WWW

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

Guest

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

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

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

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

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

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

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


Offline

zforall

 


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

2 апреля 2016 г. 8:16:47(UTC)

zforall

Статус: Новичок

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

Зарегистрирован: 02.04.2016(UTC)
Сообщений: 6
Российская Федерация
Откуда: Красноярск

Здравствуйте. Бьюсь уже насколько дней над такой проблемой и никак не могу найти решение: Есть два файла — текстовой документ и эцп к нему(лежат здесь https://yadi.sk/d/diwP9Uavqg3vg). Как при помощи cryptcp проверить соответствие документа подписи? Пробовал разные варианты параметров vsignf и verify — ничего не получается. Единственное чего удалось добиться так это вот таких сообщений об ошибке: при запуске вот такой конструкции cryptcp -verify -nochain N:Admin111.dat — Некорректное преобразование BASE64. А при запуске cryptcp -vsignf -nochain -dir N:Admin N:Admin*.dat — Ошибка при обработке криптографического сообщения.

И второй вопрос сразу: файл подписи имеет расширение bin. Что это за формат? У меня не получилось такого файла при помощи параметра signf.


Вверх


Offline

neigel

 


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

2 апреля 2016 г. 9:57:44(UTC)

neigel

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

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

Зарегистрирован: 23.12.2014(UTC)
Сообщений: 91
Российская Федерация

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

Автор: zforall Перейти к цитате

Здравствуйте. Бьюсь уже насколько дней над такой проблемой и никак не могу найти решение: Есть два файла — текстовой документ и эцп к нему(лежат здесь https://yadi.sk/d/diwP9Uavqg3vg). Как при помощи cryptcp проверить соответствие документа подписи? Пробовал разные варианты параметров vsignf и verify — ничего не получается. Единственное чего удалось добиться так это вот таких сообщений об ошибке: при запуске вот такой конструкции cryptcp -verify -nochain N:Admin111.dat — Некорректное преобразование BASE64. А при запуске cryptcp -vsignf -nochain -dir N:Admin N:Admin*.dat — Ошибка при обработке криптографического сообщения.

И второй вопрос сразу: файл подписи имеет расширение bin. Что это за формат? У меня не получилось такого файла при помощи параметра signf.

Попробуйте файл ЭП назвать также как файл документа, но добавить расширение .sgn

cryptcp почему-то такие расширения делает, хотя общепринято .sig


Вверх


Offline

zforall

 


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

3 апреля 2016 г. 11:19:41(UTC)

zforall

Статус: Новичок

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

Зарегистрирован: 02.04.2016(UTC)
Сообщений: 6
Российская Федерация
Откуда: Красноярск

Спасибо за совет, уже делал. Результат — описанная ошибка.
Думаю дело в файле подписи — он какой-то «с изюменкой», хотя на сайте гос услуг документ с подписью проходят проверку.


Вверх


Offline

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

 


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

3 апреля 2016 г. 13:34:08(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: neigel Перейти к цитате

Автор: zforall Перейти к цитате

Здравствуйте. Бьюсь уже насколько дней над такой проблемой и никак не могу найти решение: Есть два файла — текстовой документ и эцп к нему(лежат здесь https://yadi.sk/d/diwP9Uavqg3vg). Как при помощи cryptcp проверить соответствие документа подписи? Пробовал разные варианты параметров vsignf и verify — ничего не получается. Единственное чего удалось добиться так это вот таких сообщений об ошибке: при запуске вот такой конструкции cryptcp -verify -nochain N:Admin111.dat — Некорректное преобразование BASE64. А при запуске cryptcp -vsignf -nochain -dir N:Admin N:Admin*.dat — Ошибка при обработке криптографического сообщения.

И второй вопрос сразу: файл подписи имеет расширение bin. Что это за формат? У меня не получилось такого файла при помощи параметра signf.

Попробуйте файл ЭП назвать также как файл документа, но добавить расширение .sgn

cryptcp почему-то такие расширения делает, хотя общепринято .sig

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

Еще есть варианты: p7s

SGN тоже принято, например, приказами ФНС.

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


Вверх

WWW


Offline

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

 


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

3 апреля 2016 г. 13:52:38(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: zforall Перейти к цитате

Здравствуйте. Бьюсь уже насколько дней над такой проблемой и никак не могу найти решение: Есть два файла — текстовой документ и эцп к нему(лежат здесь https://yadi.sk/d/diwP9Uavqg3vg). Как при помощи cryptcp проверить соответствие документа подписи? Пробовал разные варианты параметров vsignf и verify — ничего не получается. Единственное чего удалось добиться так это вот таких сообщений об ошибке: при запуске вот такой конструкции cryptcp -verify -nochain N:Admin111.dat — Некорректное преобразование BASE64. А при запуске cryptcp -vsignf -nochain -dir N:Admin N:Admin*.dat — Ошибка при обработке криптографического сообщения.

И второй вопрос сразу: файл подписи имеет расширение bin. Что это за формат? У меня не получилось такого файла при помощи параметра signf.

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

В файле .bin — электронная подпись (CMS (pkcs#7)).

Цитата:

C:Program Files (x86)Crypto ProCSP>
csptest -sfsign -verify -in c:tmp1.dat -signature c:tmp1.dat.sig -detached
……………………………………………………………………………
Detached Signature was verified OK
Total: SYS: 0,031 sec USR: 0,063 sec UTC: 0,094 sec
[ErrorCode: 0x00000000]

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


Вверх

WWW


Offline

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

 


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

3 апреля 2016 г. 14:18:17(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

В файле: c:tmp1.dat.sgn — должна быть подпись (файл из указанного архива с расширением .bin)

Команда для проверки:

Цитата:

cryptcp.exe -vsignf -nochain -dir c:tmp c:tmp1.dat

Возникает ошибка:

Цитата:

CryptCP 3.42 (c) «КРИПТО-ПРО», 2002-2013.
Утилита командной строки для подписи и шифрования файлов.

Найдено сертификатов: 37
Папка ‘c:tmp’:
c:tmp1.dat… Проверка подписи…
Ошибка: Ошибка при обработке криптографического сообщения.

dsign.cpp:1846: 0x80091001
[ErrorCode: 0x80091001]

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


Вверх

WWW


Offline

zforall

 


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

4 апреля 2016 г. 12:48:02(UTC)

zforall

Статус: Новичок

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

Зарегистрирован: 02.04.2016(UTC)
Сообщений: 6
Российская Федерация
Откуда: Красноярск

Спасибо за подсказку, Андрей.

При помощи csptest удалось проверить подпись.

Однако непонятно осталось насчет cryptcp.

Запускаю cryptcp как указано в вашем последнем посте. Получаю такую-же ошибку. Что это? Неспособность cryptcp работать с такими файлами? Но что такого необычного в файле подписи? Подскажите, и я обращусь к нашему контрагенту который шлет эти файлы чтобы он изменил свой механизм подписи (если это конечно возможно) так чтобы мой cryptcp мог проверять ее.


Вверх


Offline

zforall

 


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

4 апреля 2016 г. 14:12:33(UTC)

zforall

Статус: Новичок

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

Зарегистрирован: 02.04.2016(UTC)
Сообщений: 6
Российская Федерация
Откуда: Красноярск

Я опишу свою задачу шире, может это поможет вам навести меня на верный путь.
Стоит задача организовать подпись документов отправляемых контрагенту, и верификация подписей документов получаемых от контрагента в 1С.
Было принято решение использовать для этих целей утилиту cryptocp. Запускать ее как внешнюю (по отношению к 1С программу) с набором параметров и анализировать возвращаемое значение.
Может существуют какие-либо другие способы наладить такую работу?

1С используется версии 8.1 — там нет своего встроенного криптопровайдера, как в 8.2, это принципиальное ограничение.


Вверх


Offline

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

 


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

4 апреля 2016 г. 14:41:42(UTC)

Андрей *

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

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

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

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: zforall Перейти к цитате

Я опишу свою задачу шире, может это поможет вам навести меня на верный путь.
Стоит задача организовать подпись документов отправляемых контрагенту, и верификация подписей документов получаемых от контрагента в 1С.
Было принято решение использовать для этих целей утилиту cryptocp. Запускать ее как внешнюю (по отношению к 1С программу) с набором параметров и анализировать возвращаемое значение.
Может существуют какие-либо другие способы наладить такую работу?

1С используется версии 8.1 — там нет своего встроенного криптопровайдера, как в 8.2, это принципиальное ограничение.

Вы можете уточнить — в каком ПОверсии делалась «проблемная» ЭП?

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


Вверх

WWW


Offline

zforall

 


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

4 апреля 2016 г. 14:47:07(UTC)

zforall

Статус: Новичок

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

Зарегистрирован: 02.04.2016(UTC)
Сообщений: 6
Российская Федерация
Откуда: Красноярск

У нас уже закончился рабочий день, поэтому сегодня узнать не смогу.
Я завтра с утра выясню эту информацию и напишу.


Вверх

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

Guest

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

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

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

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

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

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

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

При возникновении перечисленных далее ошибок воспользуйтесь стандартными действиями для решения проблем с криптографией. Ошибки могут возникать при подписании и расшифровке (отправке отчета, обмене, отправке заявления, обновлении статуса заявления и т.д.):

  • набор ключей не определен;
  • неправильный открытый ключ поставщика;
  • не найден сертификат и открытый ключ для расшифровки;
  • не найден сертификат руководителя в системном хранилище сертификатов;
  • не удалось расшифровать файл обновлений;
  • ошибка инициализации криптопровайдера;
  • плохие данные;
  • ошибка при получении свойств сертификата. Не удалось выполнить подписание сертификатом, Федеральная налоговая служба по причине Ошибка при получении свойства сертификата (0x0000000);

  • ошибка интерфейса модуля криптографии. Отсутствует набор ключей. Не удалось выполнить подписание сертификатом по причине: Ошибка интерфейса модуля криптографии. Отсутствует набор ключей;

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

  • модуль криптографии не поддерживает алгоритмов подписи. Не удалось выполнить подписание сертификатом по причине: Модуль криптографии не поддерживает алгоритмов подписи. Не удалось подписать файл по причине…;

  • не удалось подписать файл по причине: Неправильный зарегистрированный набор ключей. Неправильный зарегистрированный набор ключей. Ошибка подписания документа: Обращение налогоплательщика, связанное с циклом обмена По причине: Не удалось подписать файл по причине…;

  • не удалось подписать файл по причине: Ошибка исполнения функции. Не удалось подписать файл по причине: Ошибка исполнения функции. Ошибка подписания документа: Запрос на информационное обслуживание налогоплательщика, связанное с циклом обмена.

Ошибка при распаковке криптографического сообщения

Если после отправки декларации в протоколе обработки появляется ошибка Ошибка при распаковке криптографического сообщения,

выполните следующие действия:

  1. Установите сертификата Росалкогольрегулирования по инструкции
  2. Убедитесь, что в хранилище Другие пользователи установлены сертификаты Росалкогольрегулирования и Субъекта. Для этого:
    • пройдите по пути ПускПанель управленияСвойства обозревателя
    • в Свойствах обозревателя откройте вкладку Содержание, нажмите Сертификаты
    • в открывшемся окне нажмите Другие пользователи, убедитесь, что в списке сертификатов присутствует сертификат Росалкогольрегулирования и сертификат Субъекта. Откройте каждый сертификат, срок действия сертификатов должен быть действительным. 
    • если оба или один из сертификатов не установлен (не действителен)  — установите их/его с помощью одной из инструкций.
  3. Зашифруйте и подпишите файл декларации заново, соблюдая инструкцию Подписание и шифрование файла для Росалкогольрегулирования.
    Ошибка чаще всего связана с нарушением процедуры подписания.
    При повторном шифровании и подписании декларации, обратите внимание на следующие шаги:
     — Параметры подписи (пункт 6). Галочки должны быть выставлены согласно скриншоту в инструкции: если у вас нет необходимой галочки – добавьте, если стоят лишние – уберите лишнее.
     — Выходной формат файла (пункт 10). Точки должны стоять согласно скриншоту, в ином случае файл не будет заархивирован по требованиям ФСРАР.
     — Выбор файлов (пункт 11). Обратите внимание, что на данном пункте не выбирается декларация для шифрования, поскольку в заголовке представлено, что файл будет создан без создания подписи. На данном шаге нажимается кнопка Далее и не выбирается декларация.
    Выбор сертификатов получателей (пункт 13). Среди сертификатов получателей могут быть только сертификаты Органа исполнительной власти субъекта и ФСРАР — в данном списке нельзя выбирать сертификат отправителя (выданный на вашу организацию/ИП).
  4. Внимание! Имя файла декларации должно отличаться от имени отправленной ранее декларации.
    В окне выбора сертификатов получателей необходимо выбирать два сертификата: сертификат Субъекта и сертификат Росалкогольрегулирования 

  5. Повторно отправьте файл декларации в контролирующие органы.

Вы определились с выбором?

Перейти к оформлению заказа

Неизвестный криптографический алгоритм (80091002)

  На компьютере не установлено приложение от криптопровайдера, указанного в сертификате, которым осуществляется попытка наложения ЭЦП либо которым подписан документ (при проверке ЭЦП) — см. свойство сертификата «Алгоритм подписи». Например, ПО от Крипто Про, если ключевая пара (открытый и закрытый) созданы по ГОСТ .

 Не удается найти указанный файл  (00000002)

  Возможные причины:

сертификат установлен без закрытого ключа.
рутокен (носитель с сертификатом) поврежден/неисправен .
применяется (вставлен в компьютер) не тот рутокен (носитель) — не от выбираемого сертификата. Например, в период смены сертифкатов, используется прежний еще действующий сертификат, а носитель вставляют от нового сертификата.

 Неизвестная ошибка. (C000000D)

Проблема в совместимости ПО «Крипто Про» и «Континент АП», способы решения см на форумах соответствующих ПО. См так же обсуждение  на форуме «Бюджет-СМАРТ» https://keysystems.ru/forum/index.php?showtopic=19187&p=157205 .

 Статус аннулирования сертификатов не выяснен. Не удалось загрузить действующий список отозванных сертификатов — состояние (статус) ЭЦП.

 Не удается построить цепочку сертификатов для доверенного корневого центра — сообщение при наложении ЭЦП.

  Возможные причины:

корневой сертификат УЦ не соответствует сертифкатам пользователей;
корневой сертификат УЦ отсутствует на сервисе ОД/сервере ключей;
корневой сертификат УЦ установлен неверно (местоположение не «локальный компьютер»/реестр, см. описание «Сервис проверки ЭЦП»).

  Корневой сертификат УЦ обычно обновляется ежегодно. На сервисе ОД должен быть установлен корневой сертификат УЦ, под которым выдавались ключи пользователям.

  Примеры ситуаций, приводящие к вышеприведенной ошибке: часть пользователей имеют ключи 2011г, часть 2012г, установлен корневой сертификат 2012г — пользователи с сертификатами 2011г не смогут подписать (либо их подпись станет неверна).

 Один из сертификатов в цепочке не является доверенным — причина в том, что корневой сертификат УЦ не установлен в список «Доверенные корневые центры сертификации» на компьютере, где проверяется ЭЦП.

 nastr_ecp_error_dover

 Документ не удовлетворяет условиям схем работы с ЭП  

 Нет подходящего варианта в автомате ЭЦП для данного документа. Если автомат не настраивался, то не следует включать настройку «Использовать Автомат ЭЦП».

Невозможно создать файл, так как он уже существует.

B7: CryptMsgUpdate

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

Возникла ошибка при соединении с сервисом проверки ЭЦП: …

  Настройка «Меню Настройки: НАСТРОЙКИ Электронная подпись Сервис проверки ЭЦП» указана неверно (несуществующий адрес), либо SQL сервер не может подключиться к сервису ОД из указанной настройки (ограничения сетевых экранов, антивирусы и т.п.).

Отказано в доступе. 80090010: CryptMsgOpenToEncode HResult: -2146233296

  Истёк срок действия закрытого ключа. Для получения подробных сведений о сроках и причинах, следует протестировать контейнер закрытого ключа в ПО «Крипто Про» — обратить внимание на информацию вида:

Срок действия закрытого ключа       20 января 2019 г. 11:27:15

Использование ключа обмена          запрещено. Срок действия закрытого ключа истек…..

Сannot connect или Cannot resolve IP address или Error get version

  При применении Сервера ключей (устарело): данные сообщения означают, что не удалось обратиться к серверу ключей: неверно указана настройка сервера ключей, либо на сервере ключей не запущена программа проверки ЭЦП (CertServer.exe), либо не удалось соединиться с сервером ключей (антивирус, брандмауер и т.д.) и т.п. причины.

ИСТОЧНИК

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

Загрузка…

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

Как отключить рекомендуемые ролики в Яндекс Дзене 28.01.2023

Как отключить рекомендуемые ролики в Яндекс Дзене

Площадка «Яндекс.Дзен» недавно перешла в собственность VK и претерпела некоторые изменения. В первую очередь это…

Далее

Как отключить Т9 на Айфоне и Айпаде? 28.01.2023

Как отключить Т9 на Айфоне и Айпаде?

Понятие «T9» берет свое начало со времен кнопочных телефонов. Данная функция позволила людям быстро набирать…

Далее

Приложение CIT Test на Xiaomi – что это и зачем нужно? 28.01.2023

Приложение CIT Test на Xiaomi – что это и зачем нужно?

Количество приложений для смартфонов Xiaomi настолько велико, что подавляющее большинство из них остаются…

Далее

RAM Plus на Samsung – что это за программа? 22.01.2023

RAM Plus на Samsung – что это за программа?

Оперативная память (точнее — ее объем) является решающим фактором при выборе смартфона для многих пользователей….

Далее

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при обработке информации сервера пд
  • Ошибка при обработке запроса системой банка err 100 date must be specified