К статье
Практический материал

Администрирование · 11 мин

Где 1С хранит сертификаты и как их найти

Разбираем, где 1С хранит сертификаты ЭП и TLS: системное хранилище Windows, файлы на диске, хранилище в базе, настройки в программе и типичные ошибки поиска.

Когда 1С не подписывает документ или выдаёт ошибку «Сертификат не найден», первый вопрос — где программа вообще ищет сертификаты. Ответ зависит от того, о каких сертификатах идёт речь: квалифицированные сертификаты электронной подписи (для ЭДО, отчётности, маркировки), TLS-сертификаты для защищённых соединений и внутренние сертификаты, которые 1С хранит прямо в информационной базе.

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

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

Какие сертификаты использует 1С и почему они хранятся по-разному

Прежде чем искать, полезно разделить сертификаты по назначению. Первый тип — сертификаты ключа электронной подписи: ими подписываются электронные документы, отчётность в ФНС и другие контролирующие органы, данные в системах маркировки. Такой сертификат связан с закрытым ключом, который обычно находится на токене (Рутокен, eToken) или в контейнере на компьютере.

Второй тип — TLS-сертификаты, которые используются при защищённых HTTPS-соединениях: обмен с банками, сервисами 1С, веб-сервисами. Здесь программе нужны корневые сертификаты удостоверяющих центров, чтобы проверить подлинность сервера.

Третий тип — сертификаты, которые конфигурация хранит внутри базы как данные: например, публичные сертификаты контрагентов для проверки их подписей или сертификаты для шифрования. Они живут в справочниках конфигурации и не зависят от операционной системы.

Системное хранилище Windows: основное место для сертификатов ЭП

Большинство конфигураций 1С на Windows по умолчанию ищут сертификаты электронной подписи в системном хранилище ОС. Открыть его можно командой certmgr.msc (хранилище текущего пользователя) или certlm.msc (хранилище компьютера). Сертификаты пользователя лежат в разделе «Личное → Сертификаты», корневые сертификаты УЦ — в разделе «Доверенные корневые центры сертификации».

На уровне файловой системы хранилище пользователя физически располагается в профиле: C:\Users\ИмяПользователя\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates. Напрямую редактировать эти файлы не нужно — работать с ними следует только через оснастку certmgr.msc или средства криптопровайдера (КриптоПро CSP, ViPNet CSP).

Если сертификат установлен в хранилище компьютера, а 1С запущена под другим пользователем (например, под сервисной учётной записью агента сервера), программа его не увидит. Это одна из самых частых причин ошибки «сертификат не найден» при обмене с банком или ЭДО.

Как проверить, виден ли сертификат в системном хранилище
  1. 1
    Нажмите Win+R, введите certmgr.msc и откройте раздел «Личное → Сертификаты».
  2. 2
    Найдите нужный сертификат по ФИО владельца или организации и откройте его двойным щелчком.
  3. 3
    Убедитесь, что на вкладке «Общие» есть строка «Есть закрытый ключ для этого сертификата».
  4. 4
    Проверьте срок действия и цепочку сертификации на соответствующих вкладках.
  5. 5
    Если сертификата нет или закрытый ключ отсутствует — переустановите его через криптопровайдер.

Файлы сертификатов на диске

Второй вариант — сертификаты в виде файлов. Формат .cer или .crt содержит только открытую часть, а контейнер .pfx (или .p12) — сертификат вместе с закрытым ключом, защищённый паролем. Такие файлы используются, когда криптография выполняется встроенными средствами 1С без токена, либо при работе на Linux, где нет системного хранилища в привычном виде.

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

Для TLS-проверок платформа 1С на Windows и Linux может использовать файл cacert.pem в каталоге исполняемых файлов платформы (например, C:\Program Files\1cv8\<версия>\bin\cacert.pem). Если при HTTPS-соединении возникает ошибка проверки сертификата сервера, иногда проблему решают обновлением этого файла, но делать это стоит осознанно и с резервной копией.

Сертификаты внутри информационной базы

Типовые конфигурации (Бухгалтерия, Управление торговлей, ЗУП и другие на базе БСП) хранят настройки и сами сертификаты в справочнике «Сертификаты ключей электронной подписи и шифрования». Найти его можно через раздел «Администрирование → Обмен электронными документами → Сертификаты» или через поиск по «Все функции». В карточке сертификата видно, как именно программа с ним работает.

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

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

Клиент или сервер: где искать при клиент-серверной работе

В клиент-серверном варианте работы место поиска сертификата зависит от того, где выполняется криптографическая операция. Если подписание настроено «на клиенте», сертификат должен быть установлен на компьютере пользователя. Если операции выполняются «на сервере» — сертификат и криптопровайдер нужны на сервере 1С, причём в хранилище той учётной записи, под которой работает агент сервера (обычно USR1CV8), либо в хранилище компьютера.

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

Проверить, где выполняется операция, можно в настройках обмена электронными документами: в типовых конфигурациях есть параметр, определяющий выполнение криптографических операций на клиенте или на сервере. Для серверного сценария сертификат устанавливают через certlm.msc или через оснастку с явным выбором учётной записи службы.

Маршрут решения

Как выбрать действие

Сертификат виден в 1С у пользователя, но не работает регламентное заданиеУстановите сертификат в хранилище компьютера (certlm.msc) на сервере 1С и проверьте права учётной записи агента сервера
Ошибка «сертификат не найден» сразу у всех пользователейПроверьте, не истёк ли срок действия сертификата и не удалён ли он из системного хранилища
Ошибка проверки сертификата сервера при HTTPS-обменеПроверьте корневые сертификаты в доверенных корневых УЦ и актуальность файла cacert.pem платформы
Работа ведётся на Linux-сервереИспользуйте файловые сертификаты (.pfx) с указанием пути в настройках, системного хранилища Windows там нет

Как быстро выяснить, откуда конкретная 1С берёт сертификат

Самый надёжный способ — открыть карточку сертификата в справочнике конфигурации и посмотреть поле с описанием способа хранения и отпечаток. По отпечатку (строка из шестнадцатеричных символов) сертификат легко найти в системном хранилище: в certmgr.msc он указан в свойствах сертификата на вкладке «Состав».

Если конфигурация нетиповая или настройки неочевидны, помогает технологический журнал платформы: включите логирование событий, связанных с криптографией, и посмотрите, к каким хранилищам и файлам обращается процесс. Для разовой диагностики достаточно сопоставить отпечаток из ошибки с содержимым certmgr.msc.

Типичные ошибки
01
Установка сертификата только в хранилище пользователя, тогда как обмен выполняется на сервере под другой учётной записью — сервер сертификат не видит.
02
Копирование только файла .cer без контейнера закрытого ключа — сертификат отображается, но подписать документ нельзя.
03
Игнорирование цепочки: без корневого сертификата УЦ в доверенных корневых центрах подпись считается недействительной.
04
Хранение .pfx в общедоступной папке — риск компрометации закрытого ключа и подделки подписи.
05
Поиск сертификата только в базе 1С, хотя программа ссылается на системное хранилище по отпечатку.

Проверка результата и границы безопасной работы

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

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

Контрольные точки

Как проверить результат

Отображение сертификата в 1С
Норма

Сертификат выбирается в настройках обмена, тест подключения успешен

Тревожный признак

Сертификат отсутствует в списке выбора или ошибка «не найден»

Закрытый ключ
Норма

В certmgr.msc на вкладке «Общие» есть строка о наличии закрытого ключа

Тревожный признак

Надписи нет — подписание невозможно, нужен контейнер ключа

Цепочка сертификации
Норма

Цепочка строится до доверенного корневого УЦ без предупреждений

Тревожный признак

Красный крест или предупреждение — доустановите корневой сертификат УЦ

Срок действия
Норма

Текущая дата в пределах периода действия сертификата

Тревожный признак

Срок истёк — сертификат нужно перевыпустить в УЦ

Итог

Что важно запомнить

1С берёт сертификаты из системного хранилища ОС, из файлов на диске или из собственного справочника в базе. Закрытые ключи всегда живут отдельно — на токене или в контейнере криптопровайдера. При клиент-серверной работе проверяйте, на чьей стороне выполняется криптография, и устанавливайте сертификат именно туда.

Частые вопросы

Почему сертификат установлен, но 1С его не видит?

Чаще всего сертификат стоит в хранилище другого пользователя или в хранилище компьютера без прав доступа. Проверьте, под какой учётной записью работает 1С (особенно агент сервера), и убедитесь, что сертификат виден именно ей. Также проверьте, что сертификат не просрочен и установлен в раздел «Личное», а не в «Другие пользователи».

Где лежит закрытый ключ, если сертификат на токене?

На самом токене (Рутокен, eToken и аналогах) — он не извлекается и не копируется. Сертификат в системном хранилище лишь ссылается на контейнер токена. Поэтому при переносе рабочего места достаточно вставить токен в новый компьютер, установить драйверы и криптопровайдер, а сертификат привязать заново.

Можно ли хранить сертификат прямо в базе 1С?

В базе можно хранить открытую часть сертификата (данные сертификата) — типовые конфигурации это поддерживают. Закрытый ключ в базу помещать нельзя и небезопасно: он остаётся на токене, в контейнере криптопровайдера или в защищённом паролем файле .pfx.

Что делать с ошибкой проверки сертификата сервера при HTTPS-обмене?

Проверьте, что корневой сертификат удостоверяющего центра сервера установлен в «Доверенные корневые центры сертификации». Если обмен идёт через механизмы платформы с файлом cacert.pem, убедитесь, что файл актуален. Не отключайте проверку сертификатов ради устранения ошибки — это открывает путь к перехвату трафика.

Где искать сертификаты 1С на Linux?

Системного хранилища в стиле Windows нет, поэтому используются файлы: .cer/.pfx с указанием пути в настройках конфигурации, а для TLS — файл cacert.pem в каталоге платформы или системное хранилище доверенных корневых сертификатов дистрибутива. Учётная запись, под которой работает сервер 1С, должна иметь право чтения этих файлов.