Ошибка «Не выполнена тестовая операция криптографии» в 1С‑Отчётности: как исправить
📋 Содержание
Тестовая операция криптографии — это самопроверка, которую 1С‑Отчётность запускает перед отправкой: программа шифрует и тут же расшифровывает контрольную строку вашим сертификатом. Если строка не «прошла туда-обратно», отчёт уходить не будет, а вы увидите сообщение Не выполнена тестовая операция криптографии.
Само по себе это не сбой 1С. Так связка «1С → КриптоПро → сертификат» сообщает, что не может использовать вашу подпись. Причина почти всегда снаружи 1С: сертификат, права на криптопровайдер, токен или настройка места выполнения. Ниже — как найти виновника за несколько минут и что нажимать.
💡 Быстрый порядок действий: сначала проверьте сертификат и лицензию КриптоПро (5 минут), потом права и место выполнения. В 80% случаев помогает переключение криптографии «на клиенте» и переустановка сертификата в личное хранилище.
Что означает ошибка и где её увидеть
Ошибка появляется в двух местах:
- 🧩 при нажатии Проверить в карточке настроек ЭДО/1С‑Отчётности (
Отчёты → Регламентированные отчёты → Настройки → Здесь и сейчас); - 📨 в момент отправки отчёта или заявления — тогда рядом обычно висит
Не удалось зашифровать данныеилиОшибка при вызове метода контекста (ЭлектроннаяПодпись).
Полный текст в журнале часто выглядит так:
Не выполнена тестовая операция криптографии.
Не удалось получить закрытый ключ. (0x8009000B)
Набор ключей не существует. (0x80090016)
Числовой код в скобках — самое ценное. По нему уже понятно направление поиска:
| Код | Что значит | Куда смотреть |
|---|---|---|
0x80090016 | Набор ключей не существует | Токен/контейнер, установка сертификата |
0x8009000B | Не удалось получить закрытый ключ | Права, место выполнения (клиент/сервер) |
0x80090008 | Указан неправильный алгоритм | Устаревшая версия КриптоПро/ГОСТ |
0x8007064A | Истёк срок лицензии КриптоПро | Лицензия CSP |
0x800B0109 / 0x800B010A | Нет доверия к цепочке | Не установлен корневой сертификат УЦ |
Диагностика за 3 минуты: где именно рвётся связка
Прежде чем менять настройки, локализуйте проблему. Разберите ошибку по симптому.
Шаг 1. Проверьте сертификат и лицензию КриптоПро
Начните с самого частого — с самого сертификата и лицензии провайдера. Это 5 минут и без прав администратора зачастую.
Пуск → КриптоПро CSP → вкладка Общие. Если написано «Лицензия просрочена» или «Срок действия истёк» — отправить ничего не получится. Введите серийный номер: КриптоПро CSP → Общие → Ввод лицензии. Постоянная лицензия на рабочее место стоит ориентировочно 2 500–3 000 ₽, серверная — от 30 000 ₽.КриптоПро CSP → Сервис → Просмотреть сертификаты в контейнере → Обзор. Выберите контейнер, нажмите «Далее». Если контейнер в списке есть и открывается — закрытый ключ на месте. Если списка нет — токен не виден системе (см. шаг 5).Личное (My) текущего пользователя. Именно так, а не «двойным кликом по файлу .cer».certmgr.msc → Личное → Сертификаты). Если на вкладке «Путь сертификации» стоит красный крест — не установлен корневой сертификат УЦ. Скачайте корневой и промежуточный сертификаты с сайта вашего удостоверяющего центра и установите их в «Доверенные корневые» и «Промежуточные».После этих четырёх пунктов вернитесь в 1С и нажмите Проверить ещё раз. Часто ошибка уже уходит.
Шаг 2. Переключите место выполнения криптографии
Это причина №1 в клиент-серверных базах и на терминальных серверах. У 1С есть настройка, где именно выполнять шифрование — на компьютере пользователя или на сервере 1С.
Токен и сертификат стоят на клиентском компьютере. Если 1С пытается шифровать «на сервере», сервер закрытого ключа не видит — отсюда 0x8009000B.
Как переключить:
- Откройте
НСИ и администрирование → Обмен электронными документами → Настройки ЭП и шифрования(в разных конфигурациях путь чуть отличается). - Найдите переключатель Проверять и создавать электронную подпись или Место выполнения криптоопераций.
- Поставьте
На клиенте. - Перезапустите 1С и повторите тестовую операцию.
⚠️ Если база на сервере и подписывают несколько человек с разными токенами — держите место выполнения «На клиенте». Серверный вариант оправдан только для облачной подписи (DSS/машиночитаемая), где ключ хранится на сервере, а не на токене.
Шаг 3. Права на реестр, папки и COM-объекты (терминальный сервер)
Если 1С крутится через RDP на терминальном сервере под обычным (не админским) пользователем — почти гарантированно упрётесь в права. Windows не даёт КриптоПро писать в свои ветки реестра и временные папки.
Права в реестре Windows на ветки КриптоПро
Дайте пользователю (или группе Пользователи) полный доступ на ветки:
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro
Через regedit: правой кнопкой по ветке → Разрешения → добавить пользователя → Полный доступ.
Права на папки и временные директории
КриптоПро создаёт временные файлы. Проверьте доступ на запись:
- 📁
C:\Users\<пользователь>\AppData\Local\Temp— временная папка пользователя; - 📁
%windir%\Temp— общая временная папка; - 📁 папка профиля пользователя целиком (на терминальном сервере профили иногда только для чтения).
Права на COM-объекты (CAdESCOM)
1С вызывает подпись через COM-компонент CAdESCOM. Если он не зарегистрирован или к нему нет доступа — ошибка Не удалось создать объект COM (CAdESCOM.CPSigner).
Зарегистрируйте библиотеку от администратора:
regsvr32 "C:\Program Files\Common Files\Crypto Pro\CAdES\cadesplugin.dll"
Затем в dcomcnfg (Службы компонентов → Настройка DCOM) убедитесь, что у пользователей есть права «Локальный запуск» и «Локальная активация» для компонентов КриптоПро.
💡 На терминальном сервере проще один раз настроить права на группу
Пользователи, чем гоняться за каждым сотрудником отдельно.
Шаг 4. Токены, смарт-карты и проброс через RDP
Если тестовая операция падает с Набор ключей не существует, а физически токен вставлен — система его не «пробрасывает».
Локально:
- переставьте токен в другой USB-порт (лучше на задней панели, не через хаб);
- проверьте, что установлен драйвер
Рутокен/JaCartaпод вашу модель; - в
КриптоПро CSP → Оборудование → Настроить считывателидолжен быть считывательВсе считыватели смарт-картилиАктивный считыватель Рутокен.
Через RDP (удалённый рабочий стол):
Токен физически на вашем компьютере, а 1С — на сервере. Чтобы сервер увидел токен, включите проброс смарт-карт в настройках подключения RDP:
- В окне «Подключение к удалённому рабочему столу» → Показать параметры → вкладка Локальные ресурсы.
- Кнопка Подробнее → раздел Смарт-карты (устройства) → поставьте галочку.
- Переподключитесь.
После проброса на сервере в КриптоПро появится ваш считыватель, и контейнер станет виден.
⚠️ Проброс работает только для смарт-карт и Рутокен с сертифицированным драйвером. «Флешка с контейнером» так не пробрасывается — её содержимое нужно скопировать в реестр или профиль на сервере.
Шаг 5. Обновите КриптоПро и проверьте алгоритм ГОСТ
Ошибка Указан неправильный алгоритм (0x80090008) означает, что версия КриптоПро не поддерживает ГОСТ вашего сертификата.
- Сертификаты по ГОСТ Р 34.10-2012 требуют КриптоПро CSP 4.0 и выше (актуальнее — 5.0).
- Старые версии 3.6/3.9 с новыми сертификатами не работают.
- После обновления CSP перезагрузите компьютер — без этого библиотеки подхватятся не полностью.
Узнать версию: КриптоПро CSP → Общие → Версия продукта.
Если не помогло: тяжёлая артиллерия
Прошли все шаги, а Не выполнена тестовая операция криптографии держится? Тогда по порядку:
- 🔄 Переустановите контейнер начисто. Скопируйте контейнер с токена в реестр (
Скопироватьв «Просмотреть сертификаты в контейнере»), затем установите сертификат заново. - 🧹 Очистите кэш и старые сертификаты. Удалите из «Личное» просроченные и дублирующиеся сертификаты — 1С могла выбрать не тот.
- 🩺 Проверьте связку вне 1С. На сайте вашего УЦ или на
КриптоПро → Инструменты → Проверка ЭПподпишите тестовый файл. Если и там ошибка — проблема в КриптоПро/сертификате, а не в 1С. - 🖥️ Смените место запуска клиента 1С. Тонкий клиент и веб-клиент по-разному работают с криптографией: если через браузер не выходит — попробуйте тонкий клиент, там доступ к токену прямее.
- 📞 Переиздайте сертификат. Если срок близок к концу или контейнер повреждён — быстрее перевыпустить подпись в УЦ, чем чинить битый контейнер.
Ниже — короткий разбор в видео (при наличии).
Чек-лист: пройдите перед отправкой отчёта
Как предотвратить повторение
- 🗓️ Следите за сроком лицензии КриптоПро — ставьте напоминание за месяц.
- 💾 Заранее скопируйте резервную копию контейнера на защищённый носитель.
- 🔐 Не удаляйте старые сертификаты в день сдачи — сначала убедитесь, что новый работает.
- 🖥️ На терминальном сервере пропишите права на группу
Пользователиодин раз при настройке.
Частые вопросы
Что значит «Не выполнена тестовая операция криптографии»?
С чего начать, чтобы быстрее найти причину?
0x8009000B — права или место выполнения, 0x80090016 — токен/контейнер, 0x8007064A — просрочена лицензия КриптоПро, 0x800B0109 — нет корневого сертификата УЦ. Дальше идите по нужному шагу.Почему всё работало, а после переустановки Windows или переезда на сервер сломалось?
Ошибка только на терминальном сервере (RDP), локально всё нормально. В чём дело?
Crypto Pro, временные папки и COM-объект CAdESCOM, либо не проброшен токен. Дайте права на группу Пользователи и включите проброс смарт-карт в параметрах RDP.Токен вставлен, а 1С пишет «Набор ключей не существует». Почему?
Оборудование → Настроить считыватели и переустановите личный сертификат из контейнера.Нужно ли переиздавать электронную подпись?
Источники
- Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи»
Материал подготовлен редакцией 1С 8.3 — независимый справочник. Проверено и обновлено: 12.07.2026. Независимый справочник. Мы не представляем фирму «1С» и не аффилированы с ней.