Администрирование · 11 мин
Где находится хранилище сертификатов в 1С и как его найти
Разбираем, где 1С хранит сертификаты: личное хранилище Windows, папки пользователя, настройки криптопровайдера. Пути, поиск, перенос и типичные ошибки.
Когда 1С подписывает документы электронной подписью, обменивается отчётностью с ФНС или подключается к защищённым сервисам, она обращается к сертификатам ключей электронной подписи. При этом сама платформа 1С не хранит сертификаты в своих файлах — она использует хранилище операционной системы Windows и средства криптозащиты (КриптоПро CSP, ViPNet CSP). Поэтому вопрос «где хранилище сертификатов 1С» на практике означает: где физически лежат закрытые ключи и сертификаты, откуда 1С их читает и как это проверить.
Понимание этой схемы нужно в типичных ситуациях: 1С «не видит» сертификат, после переустановки Windows пропала подпись, нужно перенести ключи на другой компьютер или настроить подписание на сервере 1С. Ошибка в выборе хранилища — одна из самых частых причин сбоев электронного документооборота.
Ниже разобраны фактические расположения хранилищ, способы найти конкретный сертификат, особенности работы в файловом и клиент-серверном режиме, а также типичные ошибки и способы их устранения.
Как устроена схема хранения сертификатов для 1С
Электронная подпись состоит из двух частей: открытого сертификата (публичная часть, содержит данные владельца и срок действия) и закрытого ключа (секретная часть, которой выполняется подписание). Сертификат обычно размещается в хранилище Windows, а закрытый ключ — в контейнере криптопровайдера: на диске, в реестре, на токене (Рутокен, eToken) или на съёмном носителе.
Когда пользователь в 1С нажимает «Подписать», платформа через криптографический интерфейс Windows (CryptoAPI) обращается к сертификату, а криптопровайдер находит связанный с ним закрытый ключ и выполняет операцию подписи. Если любое звено этой цепочки недоступно — сертификат не найден, ключ удалён, токен не подключён — 1С выдаёт ошибку подписания.
Важно понимать: копирование файла сертификата (.cer) без закрытого ключа не позволит подписывать документы. Файл .cer содержит только открытую часть, а для подписи нужен контейнер закрытого ключа, который копируется отдельными средствами криптопровайдера.
Где физически находятся сертификаты в Windows
Системное хранилище сертификатов Windows логически делится на разделы: «Личное» (сертификаты пользователя с закрытыми ключами), «Доверенные корневые центры сертификации», «Промежуточные центры сертификации» и другие. Для работы 1С с подписью нужен раздел «Личное» именно той учётной записи, под которой запускается 1С.
Физически сертификаты текущего пользователя хранятся в профиле, в защищённом виде: в ветке реестра HKCU\Software\Microsoft\SystemCertificates и в системных папках профиля. Хранилище компьютера (для всех пользователей) расположено в HKLM\Software\Microsoft\SystemCertificates. Напрямую редактировать эти данные не следует — управление выполняется через стандартные оснастки.
Как открыть хранилище и найти сертификат
Для просмотра сертификатов текущего пользователя используется команда certmgr.msc (Win+R → ввести команду → Enter). Для хранилища компьютера — certlm.msc. В открывшейся консоли раскройте «Личное» → «Сертификаты» и найдите нужный по полю «Кому выдан» и сроку действия.
- 1Нажмите Win+R и выполните команду certmgr.msc
- 2Раскройте раздел «Личное» → «Сертификаты»
- 3Найдите сертификат по ФИО владельца и сроку действия
- 4Откройте его двойным щелчком и проверьте строку «Есть закрытый ключ для этого сертификата» на вкладке «Общие»
- 5Если закрытого ключа нет — подписание в 1С работать не будет, нужно восстановить контейнер ключа
Признак того, что сертификат пригоден для подписания, — надпись «Есть закрытый ключ для этого сертификата» на вкладке «Общие». Если её нет, 1С увидит сертификат в списке, но подписать документ не сможет.
Где хранятся контейнеры закрытых ключей
Контейнеры закрытых ключей размещаются на так называемых ключевых носителях. В зависимости от того, что было выбрано при выпуске подписи, это может быть:
- Реестр Windows — контейнеры КриптоПро CSP хранятся в ветке
HKLM\SOFTWARE\Crypto Pro\Settings\Users\...\Keys(точный путь зависит от версии и разрядности); - Папка на жёстком диске — например, при выборе носителя «HDImageStore» ключи лежат в профиле пользователя в скрытой папке приложения криптопровайдера;
- Съёмный диск (флешка) — папка с файлами вида
header.key,masks.keyи другими в каталоге видаXXXXXXX.000; - Токен (Рутокен, JaCarta, eToken) — ключ в защищённой памяти устройства, извлечь его нельзя.
Посмотреть список контейнеров и их носители можно в панели управления криптопровайдера: в КриптоПро CSP это вкладка «Сервис» → «Просмотреть сертификаты в контейнере» или «Скопировать контейнер». Там же видно, на каком носителе находится каждый контейнер.
Откуда 1С берёт сертификаты: настройки в программе
В типовых конфигурациях (1С:Бухгалтерия, 1С:Управление торговлей, ЗУП и другие с подсистемой электронной подписи) сертификаты регистрируются в справочнике «Сертификаты ключей электронной подписи и шифрования». Программа может получить сертификат двумя способами: автоматически подобрать из хранилища Windows или добавить вручную с указанием конкретного сертификата.
При добавлении сертификата 1С считывает список из личного хранилища текущего пользователя через CryptoAPI и предлагает выбрать нужный. Если сертификат установлен в хранилище компьютера, а не пользователя, 1С под обычной учётной записью может его не увидеть — тогда сертификат нужно переустановить в «Личное» хранилище текущего пользователя или запустить сеанс от имени нужной учётной записи.
Файловый и клиент-серверный режим
Ключевой момент, который часто упускают: подписание может выполняться либо на компьютере пользователя, либо на сервере 1С — это определяется настройками программы. Если подписание настроено на сервере, то сертификат и закрытый ключ должны быть установлены именно на сервере, в хранилище той учётной записи, под которой работает служба агента сервера 1С (по умолчанию это служебный пользователь USR1CV8).
Установить сертификат в профиль служебной учётной записи сложнее, чем в обычный профиль: нужно либо войти в систему под этой учётной записью, либо использовать хранилище компьютера и настроить доступ к закрытому ключу для службы. Практика показывает, что большинство проблем «1С не видит сертификат на сервере» сводятся именно к неверному контексту учётной записи.
Как перенести сертификат и ключ на другой компьютер
Перенос состоит из двух частей: копирование контейнера закрытого ключа и установка сертификата в хранилище нового компьютера. Порядок зависит от носителя.
Если ключ в реестре или на диске, используйте функцию криптопровайдера «Скопировать контейнер»: укажите исходный контейнер и целевой носитель (например, флешку), затем на новом компьютере скопируйте контейнер с флешки в реестр или на диск. После этого установите сертификат из контейнера в личное хранилище — в КриптоПро это делается кнопкой «Установить личный сертификат».
Альтернатива — экспорт в файл .pfx (PKCS#12), если закрытый ключ помечен как экспортируемый: через certmgr.msc выберите сертификат → «Все задачи» → «Экспорт» → с экспортом закрытого ключа. На новом компьютере файл импортируется двойным щелчком с вводом пароля. Если ключ неэкспортируемый или лежит на токене, этот способ недоступен.
- 1Установите на новом компьютере тот же криптопровайдер и лицензию
- 2Скопируйте контейнер закрытого ключа штатной функцией криптопровайдера (или перенесите токен)
- 3Установите сертификат из контейнера в личное хранилище пользователя
- 4Проверьте в certmgr.msc наличие строки «Есть закрытый ключ для этого сертификата»
- 5В 1С откройте настройки обмена электронными документами и выполните тест подписания
Почему 1С не видит сертификат: диагностика
Типовая жалоба — «сертификат есть, а 1С его не показывает или не подписывает». Причины почти всегда в одном из перечисленных пунктов, и проверять их стоит последовательно.
Как проверить результат
Есть в «Личном», действителен, указано «Есть закрытый ключ»
Сертификата нет, истёк срок или нет закрытого ключа
1С запущена под тем же пользователем, чьё хранилище содержит сертификат
Сертификат установлен под другим пользователем или на сервере, а подписание идёт на клиенте
CSP установлен, лицензия активна, контейнер открывается
CSP отсутствует, лицензия истекла, контейнер не читается
Проверка сертификата в настройках ЭДО проходит без ошибок
Ошибка доступа к закрытому ключу или цепочке сертификации
Отдельная группа проблем — цепочка сертификации. Если не установлены корневой и промежуточный сертификаты удостоверяющего центра, Windows считает личный сертификат недоверенным, и некоторые сервисы отклоняют подпись. Корневой сертификат устанавливается в «Доверенные корневые центры сертификации», промежуточный — в «Промежуточные центры сертификации».
FAQ: частые вопросы о хранилище сертификатов 1С
Есть ли в 1С собственная папка, где лежат сертификаты?
Нет. Платформа 1С не хранит сертификаты и закрытые ключи в своих каталогах — она обращается к системному хранилищу Windows и к контейнерам криптопровайдера. В базе 1С сохраняются только ссылки на сертификаты и их открытые данные для настройки ЭДО.
Где посмотреть, какой сертификат используется в 1С для ЭДО?
Откройте в конфигурации настройки обмена электронными документами (обычно «Администрирование» → «Обмен электронными документами») и посмотрите учётную запись или соглашение об ЭДО — там указан сертификат. Также список доступен в справочнике «Сертификаты ключей электронной подписи и шифрования».
Сертификат виден в Windows, но 1С пишет «закрытый ключ не найден». Что делать?
Откройте сертификат в certmgr.msc и проверьте наличие строки «Есть закрытый ключ для этого сертификата». Если её нет — контейнер ключа не установлен или недоступен: переустановите сертификат через криптопровайдер из контейнера, проверьте подключение токена или флешки и лицензию CSP.
Нужно ли устанавливать сертификат на сервер 1С?
Только если подписание и шифрование выполняются на сервере — это задаётся в настройках программы. Тогда ключ и сертификат должны быть доступны учётной записи агента сервера 1С. Если подписание выполняется на клиентских компьютерах, на сервере ничего устанавливать не требуется.
Можно ли хранить ключи на сетевом диске?
Технически криптопровайдер может работать с контейнером на сетевом ресурсе, но это ненадёжно и небезопасно: при обрыве связи подписание завершится ошибкой, а доступ к ключу получат все, кто имеет права на папку. Рекомендуемые носители — реестр локального компьютера или сертифицированный токен.
Что будет с подписью при переустановке Windows?
Контейнеры в реестре и профиле пользователя будут удалены вместе с системой. Заранее скопируйте контейнеры средствами криптопровайдера на внешний носитель и сохраните файлы сертификатов. Ключи на токенах переустановка не затрагивает.
Что важно запомнить
1С использует системное хранилище Windows и контейнеры криптопровайдера, собственного хранилища у платформы нет. Рабочая связка — сертификат в «Личном» хранилище нужной учётной записи плюс доступный контейнер закрытого ключа. Проверяйте наличие закрытого ключа, контекст учётной записи (клиент или сервер) и лицензию CSP — это закрывает подавляющее большинство проблем с подписанием.