Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C_CRYPTO_SIGN_FAIL 1С:Предприятие и СУБД

Настройка электронной подписи (КЭП / ЭДО) и КриптоПро CSP в 1С

Обновлено: 26.08.2026 · Официальная документация ↗

При подписании документов или работе с модулями 1С-ЭДО возникают ошибки:

  • Ошибка при вызове метода контекста (Подписать): Не удалось создать подпись (0x80090016: Набор ключей не существует).
  • Сертификат не входит в список доверенных (Цепочка сертификатов обработана, но прервана на корневом сертификате).
  • Сервер 1С под Linux не видит аппаратные токены (Рутокен/JaCarta) или лицензию КриптоПро.
  • Сбой проверки статуса отзыва сертификата по протоколам CRL / OCSP.

1. Проверка провайдеров криптографии в 1С

Платформа 1С:Предприятие поддерживает работу со стандартными криптопровайдерами через МенеджерКриптографии. Для российских ГОСТ-алгоритмов используется провайдер Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider (Тип провайдера: 80).

2. Установка сертификатов в хранилище ОС

# Установка корневого сертификата Минцифры / Головного УЦ в Linux:
/opt/cprocsp/bin/amd64/certmgr -inst -store mroot -file /tmp/root_ca.cer

# Проверка установленных личных сертификатов в контейнерах:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn

# Проверка срока действия лицензии КриптоПро:
/opt/cprocsp/sbin/amd64/cpconfig -license -view

3. Программное подписание данных в 1С через МенеджерКриптографии

&НаСервере
Функция ПодписатьДанныеГОСТ(ИсходныеДвоичныеДанные, ОтпечатокСертификата, ПарольККлючу = "") Экспорт
    
    // Инициализация менеджера криптографии для ГОСТ-2012
    ИмяПровайдера = "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider";
    ТипПровайдера = 80;
    
    Менеджер = Новый МенеджерКриптографии(ИмяПровайдера, "", ТипПровайдера);
    Менеджер.ПарольДоступа = ПарольККлючу;
    
    // Поиск сертификата в хранилище 'Личные' (My)
    Хранилище = Менеджер.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
    МассивСертификатов = Хранилище.ПолучитьВсе();
    
    ЦелевойСертификат = Неопределено;
    Для Каждого Серт Из МассивСертификатов Цикл
        Если ВРег(Серт.Отпечаток) = ВРег(ОтпечатокСертификата) Тогда
            ЦелевойСертификат = Серт;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    
    Если ЦелевойСертификат = Неопределено Тогда
        ВызватьИсключение "Сертификат с указанным отпечатком не найден в хранилище!";
    КонецЕсли;
    
    Попытка
        // Формирование отсоединенной подписи (Detached Signature)
        ДанныеПодписи = Менеджер.Подписать(ИсходныеДвоичныеДанные, ЦелевойСертификат);
        Возврат ДанныеПодписи;
    Исключение
        ЗаписьЖурналаРегистрации("Криптография", УровеньЖурналаРегистрации.Ошибка,,, 
            "Ошибка создания ЭЦП: " + ОписаниеОшибки());
        ВызватьИсключение;
    КонецПопытки;
    
КонецФункции
💡 Практика специалистов: При серверном подписании (на стороне rphost) закрытый ключ сертификата не должен требовать интерактивного пин-кода через GUI окно, иначе фоновое задание 1С зависнет навсегда. Сохраняйте пароль ключа в настройках криптографии БСП.

Частые вопросы (FAQ)

Что означает ошибка 0x80090016 (Набор ключей не существует)?

Сертификат установлен в хранилище без привязки к закрытому ключу (отсутствует закрытый ключ на токене/реестре) или у пользователя Windows/Linux (usr1cv8) нет прав на чтение контейнера закрытого ключа.

Как настроить подписание документов на 64-битном сервере 1С под Linux?

Необходимо установить пакеты cprocsp-pki-cprocsp-compat, lsb-cprocsp-base и 64-битные модули КриптоПро CSP. Сертификаты должны быть установлены в локальное хранилище пользователя 'usr1cv8'.

В чем разница между присоединенной и отсоединенной электронной подписью?

Присоединенная подпись упаковывает исходный файл и саму подпись в единый CMS/PKCS#7 контейнер (.p7s). Отсоединенная подпись (detached) формирует отдельный файл подписи, не изменяя исходный документ.

Почему 1С сообщает, что сертификат отозван, при работающем интернете?

Криптопровайдер не может скачать актуальный список отзыва (CRL) по протоколам HTTP/LDAP из-за блокировки URL списка отзыва файрволом или прокси-сервером.

Полезные материалы
Рекомендуем