Администрирование · 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Нажмите Win+R, введите certmgr.msc и откройте раздел «Личное → Сертификаты».
- 2Найдите нужный сертификат по ФИО владельца или организации и откройте его двойным щелчком.
- 3Убедитесь, что на вкладке «Общие» есть строка «Есть закрытый ключ для этого сертификата».
- 4Проверьте срок действия и цепочку сертификации на соответствующих вкладках.
- 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С берёт сертификат
Самый надёжный способ — открыть карточку сертификата в справочнике конфигурации и посмотреть поле с описанием способа хранения и отпечаток. По отпечатку (строка из шестнадцатеричных символов) сертификат легко найти в системном хранилище: в certmgr.msc он указан в свойствах сертификата на вкладке «Состав».
Если конфигурация нетиповая или настройки неочевидны, помогает технологический журнал платформы: включите логирование событий, связанных с криптографией, и посмотрите, к каким хранилищам и файлам обращается процесс. Для разовой диагностики достаточно сопоставить отпечаток из ошибки с содержимым certmgr.msc.
Проверка результата и границы безопасной работы
После установки или переноса сертификата проверьте три вещи: сертификат отображается в карточке справочника 1С без ошибок, тестовое подписание (или проверка подключения в настройках обмена) проходит успешно, а в certmgr.msc у сертификата есть привязка к закрытому ключу и корректная цепочка до доверенного корня.
Безопасная зона самостоятельной работы — просмотр хранилищ, установка сертификата штатными средствами криптопровайдера, проверка сроков и цепочек. К специалисту стоит обращаться, если нужно менять учётную запись агента сервера 1С, править cacert.pem на продуктивном сервере или восстанавливать контейнер закрытого ключа, — ошибка здесь может остановить обмен документами и отчётностью у всей организации.
Как проверить результат
Сертификат выбирается в настройках обмена, тест подключения успешен
Сертификат отсутствует в списке выбора или ошибка «не найден»
В certmgr.msc на вкладке «Общие» есть строка о наличии закрытого ключа
Надписи нет — подписание невозможно, нужен контейнер ключа
Цепочка строится до доверенного корневого УЦ без предупреждений
Красный крест или предупреждение — доустановите корневой сертификат УЦ
Текущая дата в пределах периода действия сертификата
Срок истёк — сертификат нужно перевыпустить в УЦ
Что важно запомнить
1С берёт сертификаты из системного хранилища ОС, из файлов на диске или из собственного справочника в базе. Закрытые ключи всегда живут отдельно — на токене или в контейнере криптопровайдера. При клиент-серверной работе проверяйте, на чьей стороне выполняется криптография, и устанавливайте сертификат именно туда.
Частые вопросы
Почему сертификат установлен, но 1С его не видит?
Чаще всего сертификат стоит в хранилище другого пользователя или в хранилище компьютера без прав доступа. Проверьте, под какой учётной записью работает 1С (особенно агент сервера), и убедитесь, что сертификат виден именно ей. Также проверьте, что сертификат не просрочен и установлен в раздел «Личное», а не в «Другие пользователи».
Где лежит закрытый ключ, если сертификат на токене?
На самом токене (Рутокен, eToken и аналогах) — он не извлекается и не копируется. Сертификат в системном хранилище лишь ссылается на контейнер токена. Поэтому при переносе рабочего места достаточно вставить токен в новый компьютер, установить драйверы и криптопровайдер, а сертификат привязать заново.
Можно ли хранить сертификат прямо в базе 1С?
В базе можно хранить открытую часть сертификата (данные сертификата) — типовые конфигурации это поддерживают. Закрытый ключ в базу помещать нельзя и небезопасно: он остаётся на токене, в контейнере криптопровайдера или в защищённом паролем файле .pfx.
Что делать с ошибкой проверки сертификата сервера при HTTPS-обмене?
Проверьте, что корневой сертификат удостоверяющего центра сервера установлен в «Доверенные корневые центры сертификации». Если обмен идёт через механизмы платформы с файлом cacert.pem, убедитесь, что файл актуален. Не отключайте проверку сертификатов ради устранения ошибки — это открывает путь к перехвату трафика.
Где искать сертификаты 1С на Linux?
Системного хранилища в стиле Windows нет, поэтому используются файлы: .cer/.pfx с указанием пути в настройках конфигурации, а для TLS — файл cacert.pem в каталоге платформы или системное хранилище доверенных корневых сертификатов дистрибутива. Учётная запись, под которой работает сервер 1С, должна иметь право чтения этих файлов.