1с эдо ошибка при открытии хранилища сертификатов 0x00000005

Открываем доступ пользователю к хранилищу сертификатов локального компьютера

В данной статье рассматривается решение проблемы доступа к хранилищу сертификатов на операционных системах семейства Windows!

В библиотеке стандартных подсистем (БСП), начиная с версии 2.3, реализован мощный программный интерфейс для работы с криптографическими операциями. Выполнение криптографических операций требует обращение к хранилищу сертификатов, где хранится информация о сертификатах, установленных на компьютере. В момент программного обращения к хранилищу сертификатов, с целью получения информации о сертификате, может возникнуть ошибка доступа. Данная ошибка возникает по причине отсутствия необходимых прав у пользователя ОС к хранилищу сертификатов.

ОС Windows сертификаты хранит в двух основных хранилищах, которые подразделяются на вложенные хранилища. Основные хранилища:

  • Хранилище локального компьютера — содержит сертификаты, доступ к которым осуществляется выполняющимися на компьютере процессами;
  • Хранилище текущего пользователя — интерактивные приложения обычно помещают сертификаты в это хранилище для текущего пользователя компьютера.

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

  • Используется клиент-серверный вариант работы;
  • Криптографическая операция выполняется на сервере;
  • Сертификат электронной подписи (ЭП) установлен в хранилище локального компьютера (см. рисунок 1);
Рисунок 1. Локальное хранилище сертификатов

Текст ошибки будет звучать как-то так:

Ошибка доступа к хранилищу сертификатов (0x00000005)

Рассмотрим решение проблемы для вышеописанного случая. Что бы исправить ошибку, первым делом, необходимо выяснить, от имени какого пользователя ОС выполняется программное обращение к хранилищу сертификатов. Так как криптографическая операция выполняется на сервере, то это пользователь, от имени которого работает служба агента сервера 1С:Предприятия (обычно это локальный пользователь USR1CV8). Запускаем оснастку «Редактор реестра» (командная строка —> regedit.exe). В реестре содержится два узла, отвечающих за каждое основное хранилище:

  • HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates (Сертификаты — текущий пользователь)
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates (Сертификаты (локальный компьютер))

Вызываем контекстное меню для узла, отвечающего за хранилище локального компьютера и открываем его разрешения (см. рисунок 2). На вкладке безопасность добавляем пользователя сервера 1С и даем ему полный доступ.

Рисунок 2. Разрешения локального хранилища сертификатов

Плюсы использования криптографических операций на стороне сервера:

  • хранение сертификатов пользователей в одном месте;
  • хранение корневых сертификатов (сертификаты удостоверяющего центра) (см. рисунок 3) в одном месте, что позволяет избежать ошибки: цепочка сертификатов обработана, но прервана на корневом сертификате, который не является доверенным (см. рисунок 4);
  • достаточно установить криптопровайдер (КриптоПро, VipNet) только на сервере (экономия денег на клиентских лицензиях при большом количестве клиентских мест).
Рисунок 3. Путь сертификации
Рисунок 4. Ошибка проверки электронной подписи

На самом деле, не обязательно хранить сертификаты в локальном хранилище компьютера, можно запустить сеанс работы с сервером от имени пользователя, под которым работает агент сервера 1С и устанавливать сертификаты в хранилище текущего пользователя. Такое хранение сертификатов предусмотрено во всех типовых решениях фирмы 1С.

Форум КриптоПро
 » 
Устаревшие продукты
 » 
КриптоПро CSP 3.9
 » 
Ошибка при обращении к хранилищу сертификатов


Offline

Василий Деревлев

 


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

17 октября 2016 г. 13:51:15(UTC)

Василий Деревлев

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

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

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

Не удалось открыть хранилище сертификатов Отказано в доступе. (00000005)
Win 8.1
Explorer 11
Криптопро 3.9
Торговая площадка: http://tender32.ru


Вверх


Offline

Андрей Емельянов

 


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

18 октября 2016 г. 11:26:40(UTC)

Андрей Емельянов

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

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

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

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

Добрый день.
Распишите, пожалуйста, подробнее сценарий получения ошибки, куда конкретно заходить со страницы http://tender32.ru
Приложите скриншот вкладки «Общие» из панели КриптоПро CSP и ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults

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


Вверх


Offline

akv1995

 


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

1 февраля 2017 г. 14:33:55(UTC)

akv1995

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

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

Зарегистрирован: 01.02.2017(UTC)
Сообщений: 1
Российская Федерация
Откуда: Тольятти

Доброго времени суток! Ситуация с ошибкой аналогичная. На сайте http://webtorgi.samregion.ru/Menu/Page/233 в личном кабинете пытаемся добавить новый сертификат. Ошибка: не удалось открыть хранилище сертификатов отказано в доступе 00000005
2.jpg (85kb) загружен 13 раз(а). regedit.jpg (180kb) загружен 15 раз(а). 3.jpg (325kb) загружен 9 раз(а).


Вверх


Offline

Грибанов Антон

 


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

3 февраля 2017 г. 10:11:07(UTC)

Грибанов Антон

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

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

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

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

Добрый день.Попробуйте следующее:
1.Вставьте Вашу подпись в компьютер. Зайдите в Пуск->Все программы(все приложения)->КриптоПро->Крипто-Про CSP. Перейдите на вкладку Сервис. Выберите «Просмотреть сертификаты в контейнере». Далее «Обзор». Выбираем свой контейнер, жмём «Далее». Здесь нажимаем кнопку «Установить», соглашаемся со всем. Далее завершаем работу с установщиком, закрываем КриптоПро CSP
2.Открываем Пуск->Все программы->КриптоПро->Сертификаты. В левой части открываем Сертификаты — текущий пользователь -> Личное -> Реестр-> Сертификаты. Теперь в правой части находим и открываем свой сертификат. Переходим на вкладку «Путь сертификации». Здесь должна строиться цепочка до корневого УЦ без всяких красных крестиков и т.п. Если здесь отображается только один, Ваш, сертификат, то необходимо обратиться в УЦ, выдавший Вам этот сертификат и узнать, где можно скачать корневой сертификат, и как его установить.
3.Зайдите в Пуск->Все программы(все приложения)->КриптоПро->Крипто-Про CSP. Перейдите на вкладку Сервис. Выберите «Протестировать». Если результат теста удачный — то пробуем снова добавить Ваш сертификат.

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


Вверх


Offline

kiril.l@inbox.ru

 


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

10 октября 2017 г. 14:27:44(UTC)

kiril.l@inbox.ru

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

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

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

Добрый день

площадка
www.mos.ru

при регистрации ЭЦП на сайте пишет: ошибка создания подписи. ошибка создания хранилища cannot read property «create object async» of undefined. убедитесь что у расширения cryptopro extension for cades browser plugin отмечен флаг: «разрешить открывать файлы по ссылкам»

флаг стоит (в инкогнито в том числе)
яндекс браузер


Вверх


Offline

Грибанов Антон

 


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

10 октября 2017 г. 14:37:12(UTC)

Грибанов Антон

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

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

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

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

Добрый день.
Каким браузером рекомендует пользоваться техподдержка данного портала?

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


Вверх

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

Guest

Форум КриптоПро
 » 
Устаревшие продукты
 » 
КриптоПро CSP 3.9
 » 
Ошибка при обращении к хранилищу сертификатов

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

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

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

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

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

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

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

win2016 + 1С 8.3.20 + IIS

Имею веб-сервис опубликованный на IIS, необходимо работать с ЭП (Поиск сертификатов в хранилище и подписание файлов).

Через обработку все работает.

&НаКлиенте

Процедура ПодписатьФайл()

    ТипыСертификатов = Новый Массив;

    ТипыСертификатов.Добавить(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);

        ТипыСертификатов.Добавить(ТипХранилищаСертификатовКриптографии.СертификатыПолучателей);

    Список = ПолучитьСписокСертификатов(80, ТипыСертификатов, Истина);

    Сертификат = Список[0];

    МенеджерКриптографии = Новый МенеджерКриптографии(«», «», 80);

    МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = «»;      

    ПутьКФайлуШифрованный = ПутьКФайлу + «.sig»;

    МенеджерКриптографии.Подписать(ПутьКФайлу, ПутьКФайлуШифрованный, Сертификат);

КонецПроцедуры

&НаСервере

Функция ПолучитьСписокСертификатов(ТипМенеджераКриптографии, МассивТипов, ПроверятьДатуОкончания)

    //Списоксертификатов

    СписокСертификатов = Новый Массив;

    МенеджерКриптографии = Новый МенеджерКриптографии(«», «», ТипМенеджераКриптографии);

    Для Каждого ТипХранилища Из ТипыХранилищ Цикл

        //Получаемсертификатыдлякаждоготипахранилищасертификатов

        Хранилище = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилища);

        //Выбираем все сертификаты

        СертификатыХранилища = Хранилище.ПолучитьВсе();

        ТекущаяДата = ТекущаяДата();

        Для Каждого Сертификат Из СертификатыХранилища Цикл

            Если ПроверятьДатуОкончания И Сертификат.ДатаОкончания < ТекущаяДата Тогда

                //Пропускаем истекшие сертификаты, если нужно

                Продолжить;

            КонецЕсли;

            СписокСертификатов.Добавить(Сертификат);

        КонецЦикла;

    КонецЦикла;

    Возврат СписокСертификатов;

КонецФункции

а через веб-сервис опубликованной базы ничего не работает

Следующий код не пускает в хранилище:

Хранилище = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилища);

Ошибка при вызове метода контекста (ПолучитьХранилищеСертификатов): Ошибка при открытии хранилища сертификатов (0x00000005)

а здесь пусто:

ХранилищеСертификатов2 = МенеджерКриптографии.ПолучитьХранилищеСертификатов();

Сертификат = ХранилищеСертификатов2.ПолучитьВсе();

Ребята, есть идеи?

Ошибка доступа к файлу cfginfo.dat 5 0x00000005

Многие пользователи 1С могли столкнуться с данной ошибкой при проведении накладной, которая в журнале регистрации выглядит как
Не удалось выполнить процедуру “Обновление индекса ППД”:

Не удалось выполнить процедуру "Обновление индекса ППД"

В журнале регистрации она описывается как:

Ошибка доступа к файлу '\User\База\1Cv8FTxt\cfgInfo.dat'. 5(0x00000005): Отказано в доступе.

Данная ошибка может произойти из-за обновления конфигурации, либо внесения изменений в нее.

Первый способ

Первый способ решения проблемы это проверить файл конфигурации 1с location.cfg, который располагается по пути:

C:\Users\User\AppData\Roaming\1C\1cv8\location.cfg

Где в пути “User” это ваше имя пользователя

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

location=C:\Users\User\AppData\Roaming\1C/1Cv82

Если содержимое другое, то необходимо удалить файл location.cfg, предварительно сделав бэкап этого файла, после чего необходимо создать очистить его.

Второй способ

Во втором варианте при возникновении ошибки доступа к файлу cfginfo.dat решение кроется в самом названии, ошибка может происходить из-за отсутствия прав на данный файл. Необходимо найти файл cfgInfo.dat, который распологается по пути:

C:\Users\User\База\1Cv8FTxt\

Ошибка доступа к файлу '\User\База\1Cv8FTxt\cfgInfo.dat'. 5(0x00000005): Отказано в доступе.

После чего необходимо выдать права на запись и чтение на этот файл (Свойства -> Безопасно).

Содержание:

1.      Что такое системное хранилище сертификатов?

2.      Устранение ошибки системного хранилища в конфигурации программы 1С  

1. Что такое системное хранилище сертификатов?

В данной статье будет описано то, как проводить управление системным хранилищем файлов в 1С, а также как устранить ошибку о невозможности найти сертификат руководителя внутри системного хранилища файлов, которая является наиболее распространённой неполадкой в данной области, но, при этом, наименее изученной.

Системное хранилище сертификатов – это некоторая коллекция, внутри которой есть какое-то количество физических хранилищ сертификатов на одном уровне. Все системные хранилища 1С имеют собственное физическое хранилище, уровня элементов.   

2. Устранение ошибки системного хранилища в конфигурации программы 1С

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

Чтобы устранить вышеописанную неполадку, необходимо следовать такому алгоритму:

1.      Для начала, нужно определить то, в каком месте хранится данный сертификат руководителя, найти конкретную папку. Так как, необходимо сверить правильно ли программа находит хранилище, есть вероятность, что программа проводит поиск и даёт ссылку не на то хранилище, из-за этого и не находит сертификат;

2.      Далее, когда папка с сертификатом найдена, то нужно вручную его выделить и выбрать;

3.      Следующим шагом, запускаем криптопровайдер и переводим наш необходимый сертификат в панель «Личные»;

4.      После чего, должна быть проведена полная переустановка сертификата из самого хранилища;

5.      Проводим повторную установку сертификата в реестр;

6.      Дальше нужно открыть конфигурацию системы 1С и перейти во вкладку «Отчёты», кликнуть на «Настройки обмена по фис, пфр, фсс» и избираем нашу учётную запись и кликаем на пункт «Автоматическая настройка»;

7.      Однако, стоит отметить, что до автоматической настройки системы необходимо заново запустить систему 1С;

8.      Далее проводим сверку, внутри панели настроек криптографии (которые отвечают за электронный документооборот), на то, есть ли сертификат руководителя в 1С (необходимый нам) в перечне сертификатов.

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

В данной статье было описано что такое системное хранилище сертификатов в системе 1С и по какому принципу оно устроено, а также то, как разрешать неполадку о том, что сертификат руководителя организации внутри хранилища не был найден, задан алгоритм устранения ошибки.

Специалист компании «Кодерлайн»
Айдар Фархутдинов

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с эдо ошибка не удалось сформировать ответ
  • 1с эдо ошибка интерфейса модуля криптографии
  • 1с эдо ошибка доступа к файлу
  • 1с эдо неизвестная ошибка сервиса
  • 1с эдо код ошибки 20001

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: