Ошибка подписи документа system error code 2146885629 ошибка при чтении или записи в файл
Область применения ЭП довольно широка. Например, многие специальные сервисы требуют верификации пользователя с её помощью: Госуслуги, онлайн-сервисы для управления средствами в банке и электронные площадки и другие. Поэтому любые технические неполадки, возникающие при использовании ЭП, могут вызвать различные серьёзные: от упущенной выгоды до материальных убытков.
4. Подпись недействительна. (Подпись математически неверна).
Пример ошибки на картинке ниже:
Причина возникновения данной проблемы: файл был изменен или поврежден, после подписания.
Файл может быть изменен в следствии воздействия антивирусного ПО. Или в результате изменений внесенным в структуру файла почтовым сервисом, при отправке по электронной почте.
Файл необходимо повторно подписать, предварительно отключив антивирус (при его наличии, и при повышенном уровне защиты файловой системы).
Перед отправкой по электронной почте, файл необходимо заархивировать.
Так же если Вы используете при подписании сервис КриптоДок, у Вас должна быть активирована лицензия Крипто Про CSP, как проверить действительность лицензии Вы можете узнать по ссылке
Так же, если для подписания используется программа КриптоАРМ, перед подписанием обратите внимание, чтобы был отключен режим Квалифицированная подпись в КриптоАРМ.
Проверить это можно нажав правой кнопкой мыши, по иконке в области уведомлений.
5. Не удалось полностью проверить один или несколько сертификатов в цепочке.
Визуально ошибка отображена на картинке ниже:
Не установлен корневой сертификат удостоверяющего центра, выдавшего сертификат.
Такую ошибку несложно устранить без вызова специалиста или обращения в службу поддержки. Алгоритм действий, направленных на решение этой проблемы, приводится ниже.
Что может послужить причиной такой ошибки
- установка сертификата впервые;
- экспортирование данных на внешний носитель;
- попытка просмотра ключей в контейнерах ключей;
- загрузка информации на компьютер извне.
В целях устранения ошибки обычно бывает достаточно произвести корректную ручную переустановку сертификата.
Решение ошибки: отсутствие электронного сертификата в контейнере закрытого ключа
Для начала запускаем «КриптоПро» нажатием кнопки «Пуск». Затем выбираем «Настройку», в возникающем на мониторе окне заходим в опцию панели управления, далее «сервис – установить личный сертификат».
Далее, через кнопку «обзор» указываем путь, где сохранен открытый ключ – файл с расширением *.cert или *.crt
Жмём «Далее», в мастере установки сертификата мы увидим путь, который указывали до нашего сертификата.
Нам отображается информация, содержащаяся в открытом ключе на пользователя, жмём «далее»
В следующем окне можно воспользоваться двумя путями поиска нужного контейнера закрытого ключа:
- «найти контейнер автоматически
- вручную через «обзор»
В первом случае КриптоПро на основе данных из открытого ключа подберет закрытый, в случае с ручным поиском нужно будет знать название закрытого ключа, чтобы выбрать его для установки
Самый простой вариант выбрать автоматический поиск, затем после «обнаружения» необходимого контейнера, мы увидим заполненную строчку с его именем и после жмём «Далее»
Личный сертификат пользователя всегда устанавливается в хранилище «Личное», можно выбрать как вручную, так и КриптоПро может сделать это за вас по умолчанию, затем подтверждаем установку цепочки сертификатов и жмём «Далее»
>
В случае успешной установки КриптоПро выдаст окно с информацией об окончании процедуры и жмём «Готово»
Затем появится окно с подтверждением данной операции, жмём «ДА»
В следующем окне увидим информацию о том, что процесс окончен успешно. Сертификат установлен в контейнер закрытого ключа.
Особенности версий КриптоПро
С января 2019 года квалифицированные сертификаты могут выпускаться только по ГОСТ 2012, выпуск по другому ГОСТу прекращен. Мы об этом писали ранее в статье. Важно помнить, что версии криптопро на ГОСТ 2012 работают только с версии 4.0 и выше. Все старые версии КриптоПро, для нормальной работы, потребуется обновить или заменить на актуальную. Сделать это нужно не позднее 31 декабря 2019 года.
Переустановка программы
Чтобы переустановить софт, выполняем следующие действия:
- Идём в Панель управления, используя любой удобный способ (например, через меню «Пуск», с помощью поиска, консоли «Выполнить» (Win+R) и команды control, или посредством ярлыка на рабочем столе – при его наличии).
- В разделе «Программы и компоненты» выбираем ПО из списка, жмём «ПКМ» и «Удалить».
- Подтверждаем действие, после чего начнётся процесс деинсталляции.
- В Windows 10 аналогичную процедуру можно выполнить, используя вкладку «Параметры» (используем Win+I, заходим через меню «Пуск» или из Проводника), после чего в разделе «Система» открываем «Приложения и возможности», находим ПО в списке, кликаем мышью и жмём «Удалить».
- После удаления можно использовать сторонние утилиты, позволяющие избавиться от оставшихся следов софта на компьютере, включая системный реестр.
Для очистки реестра после удаления программы:
- идём в системный реестр (вызываем консоль «Выполнить» клавишами Win+R и используем команду regedit);
- в редакторе переходим на вкладку «Правка» и жмём пункт «Найти…» (Ctrl+F);
- вводим в соответствующей поисковой строке имя программы и жмём кнопку «Найти далее»;
- в реестре Виндовс будут отображены связанные с программой файлы и папки, которые можно удалить.
После того как реестр очищен от остаточных элементов софта, можно устанавливать ПО заново.
Для отчётности с применением нового стандарта ГОСТ 2012 используются программы КриптоПро версии 4.0, КриптоАРМ версии 5 или Контур.Маркет, более ранние версии КриптоПро и КриптЭК-Д сегодня не актуальны. Поэтому, если софтом, установленным на компьютере, не поддерживается работа с сертификатами нового образца, следует обновить его или перейти на альтернативное программное обеспечение. Так, вместо КриптЭК-Д (в настоящее время адаптация софта под ГОСТ 2012 не ведётся) можно использовать программу КриптоАРМ Стандарт Плюс или Контур.Маркет. С помощью этого ПО вы сможете без проблем подписать электронной подписью и зашифровать декларации, а также пользоваться прочими функциями.
Типовые ошибки при формировании подписи в веб-интерфейсе сервиса подписи.
1.1. Размер переданного файла превышает максимально допустимый размер
1.2. Неперехваченное исключение: Код состояния ответа не указывает на успешное выполнение: 413 (Request entity too large)
Возможные причины возникновения ошибки:
На подпись был передан документ, чей размер превышает заданный в настройках сервисов DSS.
Рекомендуемое решение:
Изменить значения для максимальных размеров документов сервисов DSS, в соответствие с руководством.
2. Неперехваченное исключение: Message: invalid_certificate MessageDetail: Сертификат не найден или недействителен
Диагностика:
Ошибка в «Журналы приложений и служб -> CryptoPro-> DSS-> SignServer-> Admins».
Пример:
Instance Unique Identifier: 1/signserver Source: SignDocumentRequestValidator Message: SignDocumentRequestValidator. Ошибка: invalid_certificate;
Описание: Сертификат не найден или недействителен.;
Возможные причины возникновения ошибки:
- Ошибка при проверке сертификата подписанта на сервере DSS;
- Сертификат подписанта был отозван/приостановлен.
Рекомендуемое решение:
- Обеспечить проверку сертификата подписанта на сервере DSS (путем установки цепочки сертификатов издателей в хранилище локального компьютера сервера DSS);
- Обеспечить проверку сертификата подписанта на сервере DSS на отзыв (путем установки CRL в хранилище «Промежуточные центры сертификации» локального компьютера сервера DSS или обеспечив доступность CRL по ссылкам, указанным в расширении "Точки распространения списков отзыва" сертификата подписанта и цепочки сертификатов издателей);
- Убедиться, что сертификат подписанта не был отозван/приостановлен.
3. При формировании подписи формата CAdES T/XLT1 возвращается ошибка "Произошла ошибка при получении штампа времени. Ошибка: [При попытке отправки запроса возникла ошибка HTTP]. Код: [0xc2100100]"
Возможные причины возникновения ошибки:
С сервера DSS нет сетевой доступности до службы штампов времени (TSP), выбранной при формировании подписи.
Рекомендуемое решение:
Обеспечить сетевую доступность до службы штампов времени с сервера DSS. Затем проверить работоспособность службы, в соответствие с п. 7.2 "ЖТЯИ.00094-01 91 02 Службы УЦ 2.0. КриптоПро TSP Server. Руководство администратора".
4. При формировании подписи формата CAdES XLT1 возвращается ошибка "Произошла ошибка при получении OCSP-ответа. Ошибка: [При попытке отправки запроса возникла ошибка HTTP]. Код: [0xc2110100]"
Возможные причины возникновения ошибки:
С сервера DSS нет сетевой доступности до службы проверки статусов сертификатов (OCSP), адрес которой указан в расширении "Доступ к информации о центрах сертификации" сертификата подписанта.
Рекомендуемое решение:
Обеспечить сетевую доступность до службы проверки статусов сертификатов. Затем проверить работоспособность службы, в соответствие с п. 7.3 "ЖТЯИ.00094-01 91 01 Службы УЦ 2.0. КриптоПро OCSP Server. Руководство администратора".
5. При формировании подписи формата CAdES T/XLT1 возвращается ошибка "Произошла ошибка при формировании CAdES подписи. Ошибка: [Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции]. Код: [0x8007139f]"
Возможные причины возникновения ошибки:
Остановлена служба штампов времени (TSP)/проверки статусов сертификатов (OCSP).
Рекомендуемое решение:
Запустить службы на стороне сервера "КриптоПро Службы УЦ". Затем проверить работоспособность службы штампов времени, в соответствие с п. 7.2 "ЖТЯИ.00094-01 91 02 Службы УЦ 2.0. КриптоПро TSP Server. Руководство администратора" и работоспособность службы проверки статусов сертификатов, в соответствие с п. 7.3 "ЖТЯИ.00094-01 91 01 Службы УЦ 2.0. КриптоПро OCSP Server. Руководство администратора".
6. При загрузке документа для подписи возвращается ошибка "Message: Authorization has been denied for this request"
Диагностика:
Ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> DocumentStore-> Admins».
Б) Instance Unique Identifier: 1/documentstore] Source: Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware Message: Authentication failed
System.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException: IDX10505: Unable to validate signature. The 'Delegate' specified on TokenValidationParameters, returned a null SecurityKey.
Возможные причины возникновения ошибки:
- На сервисе обработки документов не настроены отношения доверия с центром идентификации;
- Истек срок действия сервисного сертификата сервиса обработки документов.
Рекомендуемое решение:
- Запросить отпечаток сервисного сертификата ЦИ: $idp_cert = (Get-DssStsProperties).ServiceCertificate
- Указать отпечаток сервисного сертификата ЦИ на сервисе обработки документов: Add-DssDocumentStoreClaimsProviderTrust -IssuerName realsts -Thumbprint $idp_cert
Примечание: если при выполнении второго командлета в Powershell возникла ошибка "Доверенный издатель с именем realsts уже добавлен в коллекцию" - необходимо выполнить командлет: Set-DssDocumentStoreClaimsProviderTrust -IssuerName realsts -NewThumbprint $idp_cert
- Проверить срок действия сервисного сертификата сервиса обработки документов. Если срок действия истек - необходимо перевыпустить его и скорректировать настройки в соответствие с руководством;
- Перезагрузить пулы приложений центра идентификации и сервиса обработки документов, выполнив командлеты: Restart-DssStsInstance и Restart-DssDocumentStoreInstance.
7. При загрузке документа для подписи возвращается ошибка "Неперехваченное исключение: Message: An error has occured"
Диагностика:
Ошибка в «Журналы приложений и служб -> CryptoPro-> DSS-> SignServer-> Admins».
Возможные причины возникновения ошибки:
- На сервисе обработки документов не настроены отношения доверия с сервисом подписи;
- Истек срок действия сервисного сертификата сервиса обработки документов.
Рекомендуемое решение:
- Запросить отпечаток сервисного сертификата сервиса подписи: $ss_cert = (Get-DssProperties).ServiceCertificate
- Указать отпечаток сервисного сертификата сервиса подписи в настройках сервиса обработки документов: Add-DssDocumentStoreClaimsProviderTrust -IssuerName signserver -Thumbprint $ss_cert
Примечание: если при выполнении второго командлета в Powershell возникла ошибка "Доверенный издатель с именем signserver уже добавлен в коллекцию" - необходимо выполнить командлет: Set-DssDocumentStoreClaimsProviderTrust -IssuerName signserver -NewThumbprint $ss_cert
- Проверить срок действия сервисного сертификата сервиса обработки документов. Если срок действия истек - необходимо перевыпустить его и скорректировать настройки в соответствие с руководством;
- Перезагрузить пулы приложений сервиса подписи и сервиса обработки документов, выполнив командлеты: Restart-DssSignServerInstance и Restart-DssDocumentStoreInstance.
1 – нажимаем Статус сертификата, 2 – двойным кликом открываем сертификат, 3- нажимаем Состав, 4 – выбираем Точки распространения, 5 – выделяем ссылку после = , нажимаем Ctrl + C (плюс не нажимаем , одновременно две клавиши Ctrl и C на клавиатуре), вставляем ссылку в строке поиска в браузере.
Нажимаем Готово. Перезагружаем Компьютер и проверяем повторно. Ошибка должны быть устранена.
Как устранить неисправность
Подписывать документы и отчётность теперь можно, используя сертификат, сформированный по ГОСТ 2012 (вместо ГОСТ 2011), действующий сертификат должен быть установлен. При этом, кроме получения нового ключа ЭЦП, на компьютере должна стоять обновлённая версия софта, поддерживающая стандарт.
В некоторых случаях ошибка подписания документа «Указан неправильный алгоритм» кроется в нарушении внутреннего алгоритма ПО и решается путём переустановки (с полным удалением старой версии и чисткой реестра, после чего можно загрузить новую версию).
ЭП не подписывает документ
Причин у подобной проблемы множество. Среди самых распространённых можно выделить следующие неполадки:
Закрытый ключ на используемом контейнере не соответствует открытому ключу сертификата. Возможно был выбран не тот контейнер, поэтому следует проверить все закрытые контейнеры на компьютере. Если необходимый контейнер по тем или иным причинам отсутствует, владельцу придётся обращаться в удостоверяющий центр для перевыпуска ЭП.
Ошибка «Сертификат недействителен» (certificate is not valid). Следует повторно установить сертификат ЭП по инструкциям УЦ в зависимости от используемого криптопровайдера — КриптоПро CSP, ViPNet CSP или другого.
Сертификат ЭП определяется как непроверенный. В этом случае необходимо переустановить корневой сертификат удостоверяющего центра.
Истёк срок действия криптопровайдера. Для решения этой проблемы необходим новый лицензионный ключ к программе-криптопровайдеру. Для его получения необходимо обращаться к специалистам УЦ или к ответственным сотрудникам своей организации.
Подключён носитель с другим сертификатом. Убедитесь, что подключён правильный токен. Проверьте также, не подключены ли носители других сертификатов. Отключите другие носители в случае их обнаружения.
В момент подписания электронных документов или формирования запроса в различных может возникнуть ошибка «Невозможно создание объекта сервером программирования объектов».
В этой ситуации помогает установка и регистрация библиотеки Capicom:
Распакуйте и переместите файлы capicom.dll и capicom.inf в каталог syswow64, находящийся в корневой папке ОС.
Откройте командную строку от имени администратора — для этого в меню Пуск наберите «Командная строка», нажмите по найденному приложению правой кнопкой мыши и выберите Запуск от имени администратора.
Введите «c:\windows\syswow64\regsvr32.exe capicom.dll» (без кавычек) и нажмите ENTER. Должно появиться уведомление о том, что команда выполнена успешно.
Причины ошибки «Указан неправильный алгоритм»
При возникновении проблем шифрования пользователю нужно убедиться в том, что версия модуля, используемого на компьютере, соответствует типу электронной подписи, проверив, работает ли программа с новым ГОСТом, появившимся в 2019 году. С 1 января 2020 года применяются только электронные подписи, выпущенные по ГОСТ Р34.10-2012, тогда как использование ЭЦП на устаревшем ГОСТе Р34.10-2001 больше не допускается. Кроме того, следует проверить правильность установки модуля и сертификатов электронных подписей.
Причины ошибки подписания документа с кодом 2146893816 могут быть следующими:
- некорректная работа криптопровайдера;
- устаревшее ПО, несоответствие версии (2017 года) новому стандарту – отсутствие реализации 2012 ГОСТ (ошибка появляется при выборе сертификата);
- истёк срок действия сертификата ЭЦП на электронном ключе;
- несовместимость установленных на одном компьютере криптопровайдеров.
2. Сертификат недействителен. Срок действия истек или еще не наступил.
Визуально ошибка отображена на картинке ниже:
- Истек срок действия Сертификата или закрытого ключа.
Как устранить данную проблему:
- Обратиться в удостоверяющий центр для выпуска нового сертификата(продления). Или подписать документ действующей ЭЦП (при наличии таковой).
Какие бывают ошибки
Проблемы при использовании ЭП, с которыми пользователи встречаются чаще всего, можно условно разделить на три группы:
Проблемы с сертификатом Они появляются, когда сертификат не выбран, не найден или не верен.
Проблемы с подписанием документа. Ошибки возникают при попытке подписать документ.
Проблема при авторизации на торговых площадках.
Рассмотрим неполадки подробнее и разберёмся, как их решать.
Не виден сертификат на носителе
Как правило, причина такой проблемы — сбой в работе программных компонентов. Для её решения достаточно перезагрузить компьютер. Однако иногда этого бывает недостаточно, поэтому требуется переустановка драйверов или обращение в службу техподдержки.
К наиболее распространённым причинам такой проблемы относятся следующие случаи:
Драйвер носителя не установлен или установлен некорректно. Для решения проблемы необходимо извлечь носитель электронной подписи из ПК и скачать последнюю версию драйвера носителя с официальных ресурсов. Если переустановка драйвера не помогла, подключите носитель к другому ПК, чтобы убедиться в исправности токена. Если токен определится другой системой, попробуйте удалить на неисправном компьютере драйвер носителя и установить его заново.
Долгое опознание носителя. Для решения проблемы необходимо дождаться завершения процесса или обновить версию операционной системы.
Некорректная работа USB-порта. Подключите токен к другому USB-порту, чтобы убедиться, что проблема не в носителе ЭП. Если система определила токен, перезагрузите компьютер. Если это не поможет, следует обратиться службу технической поддержки.
Неисправность носителя. Если при подключении токена к другому компьютеру или USB-порту система не определяет его, значит, проблема в самом носителе. Устранение неисправности возможно в данном случае лишь одним путём — нужно обратиться в сервисный центр для выпуска нового носителя.
3. Сертификат недействителен. Сертификат отозван.
Ошибка указана на картинке ниже:
При возникновении данной ошибки, если ранее вы самостоятельно не отзывали сертификат. Вам необходимо обратиться в Удостоверяющий центр, выдавший сертификат, для уточнения причины возникновения данной проблемы.
Удостоверяющий центр выдавший сертификат, обычно указан в разделе Издатель.
Сертификат не найден
Иногда при попытке подписать электронный документ с помощью ЭП пользователь может столкнуться с ошибкой «Не удалось найти ни одного сертификата, пригодного для создания подписи»
У подобных ошибок могут быть следующие причины:
1. На компьютере не установлены корневые сертификаты Удостоверяющего Центра (УЦ), в котором была получена ЭП. Необходимо установить либо обновить корневой сертификат. Установка корневых сертификатов удостоверяющего центра подробно описана в нашей инструкции.
2. На ПК не установлено ни одного личного сертификата ЭП. Для применения ЭП необходимы и личные сертификаты. Об их установке мы писали в другой статье.
3. Установленные на компьютере необходимые сертификаты не валидны. Сертификаты отозваны или просрочены. Уточните статус сертификата в УЦ. Ошибка с текстом «Ваш сертификат ключа подписи включён в список отозванных» возникает, если у сертификата закончился срок действия или на ПК нужно обновить список сертификатов. В последней ситуации следует вручную загрузить перечень отозванных сертификатов.
Для установки списка отозванных сертификатов:
Откройте личный сертификат пользователя в окне Свойства браузера. Чтобы открыть его, наберите «Свойства браузера» в поисковой строке меню Пуск. Перейдите во вкладку Содержание и нажмите кнопку «Сертификаты».
Во вкладке Состав выберите из списка пункт «Точки распространения списков отзыва».
В блоке Имя точки распространения скопируйте ссылку на загрузку файла со списком отзыва.
Скачайте по указанной ссылке файл. Нажмите по нему правой кнопкой мыши и выберите в контекстном меню «Установить список отзыва (CRL)».
Следуйте указаниям «Мастера импорта сертификатов».
Читайте также: