Код ошибки 113. Не удалось выполнить операции шифрования/расшифровки на сервере.

1. AndrewAks 11 08.11.23 23:16 Сейчас в теме
Возникла такая проблема:
Windows server 2019
На сервере установлен КриптоПро CSP 5.0.12600 серверная лицензия.
Установлен контейнер с подписью на флешке. Сертификат установлен в систему. Все это сделано из-под пользователя, под которым работает сервер 1С 8.3.2239 x64, базы УТ 10.3.79.1, БП 3.0.143.32 в которых настроен 1С:ЭДО на два предприятия.

Несколько дней назад один из сертификатов закончился, выдали новый на Rutoken Lite с запретом экспорта, который я благополучно скопировал на флешку утилитой проверки рутокенов 3.4.2. При этом на сервере на последний месяц никаких изменений ни с сертификатами, ни с политиками доступа не происходило. Никакой новый софт не устанавливался.

Сертификат установился нормально, тестирование в КриптоПро проходит успешно, а вот в 1С начались траблы, ошибка в УТ 10.3 при проверке сертификата:
Код ошибки 113. Не удалось выполнить операции шифрования/расшифровки на сервере.
Ошибка при получении свойства сертификата (0x00000000).

Ошибка в БП 3.0 типовой при проверке сертификата:
Ошибка при получении свойства сертификата (0x00000000).

Обычно это означает, что указан неправильный пароль доступа к закрытому ключу, но никакого пароля на ключе нет. Я пробовал стандартные пароли, это ничего не изменило.

На сайте 1c-edo.ru есть описание причин ошибки и варианты исправления, но они не сработали.

* Удаление контейнера и сертификата и повторная их установка результата не дали
* Рестарт сервера с очисткой кэша сервера/пользователя результата не дал
* Обновление платформы на версию 8.3.22.2283, результата не дал, равно как и * на 8.3.21.1895
* Проверка и полное переформатирование флешки в FAT32 ничего не изменили
* Полная переустановка КриптоПро (дважды вычистил утилитой полного удаления с перезагрузкой.

Звонил в техподдержку 1С ЭДО, подключался их специалист, порекомендовал полностью переустановить КриптоПро, это не помогло.

Если запустить базу на сервере (логин под пользователем из под которого запущен сервер 1С) и в настройках криптографии установить проверку сертификатов и криптографии на клиенте - результат не меняется.

Со вторым сертификатом проблем никаких нет, всё работает.

Может кто то сталкивался с таким? Или есть идеи что ещё можно попробовать предпринять? (кроме перевыпуска сертификата, ибо с ним всё ок, похоже)
Найденные решения
5. AndrewAks 11 09.11.23 00:35 Сейчас в теме
После двух суток мучений нашёл решение самостоятельно. С помощью утилиты "Инструменты КриптоПро" очень внимательно и аккуратно вычистил все недействительные, неактуальные, просроченные контейнеры и сертификаты. Обязательно нажать кнопку "Показать расширенные", чтобы было всё видно! Вся основная работа проводится в пунктах "Контейнеры" и "Сертификаты", ставил и снимал чекбоксы "Использовать локальное хранилище компьютера", удалил все просроченные сертификаты и контейнеры, после этого в этой же утилите установил ещё раз проблемный сертификат (меню "Сертификаты" - Установить сертификаты) в Личные и в Другие пользователи. После этого 1С смогла подцепить сертификат.

Как говорится, "Чистота - залог здоровья. Порядок прежде всего!"
Надеюсь, мой опыт сэкономят кому-то много времени.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user856012 13 08.11.23 23:56 Сейчас в теме
(1)
Со вторым сертификатом проблем никаких нет, всё работает.
Тогда лично я бы для начала перепривязал проблемный сертификат к "оригиналу" ЭЦП на Рутокене и проверил, будут ли с ним проблемы?

Потом установил бы сертификат для "обычного" пользователя (не службы сервера 1С) и в интерактивном режиме протестировал бы копию контейнера средствами КриптоПро, без 1С: мало ли что и как там скопировалось - может, ФНС что-то придумала для борьбы с копировщиками?
4. AndrewAks 11 09.11.23 00:17 Сейчас в теме
(3) Не работает служба Рутокена на сервере, ругается: ей не нравится поднятый RDP. П.2 пробовал тоже, не взлетело. Решение нашёл самостоятельно, ниже комментарий будет
2. пользователь 08.11.23 23:21
Сообщение было скрыто модератором.
...
5. AndrewAks 11 09.11.23 00:35 Сейчас в теме
После двух суток мучений нашёл решение самостоятельно. С помощью утилиты "Инструменты КриптоПро" очень внимательно и аккуратно вычистил все недействительные, неактуальные, просроченные контейнеры и сертификаты. Обязательно нажать кнопку "Показать расширенные", чтобы было всё видно! Вся основная работа проводится в пунктах "Контейнеры" и "Сертификаты", ставил и снимал чекбоксы "Использовать локальное хранилище компьютера", удалил все просроченные сертификаты и контейнеры, после этого в этой же утилите установил ещё раз проблемный сертификат (меню "Сертификаты" - Установить сертификаты) в Личные и в Другие пользователи. После этого 1С смогла подцепить сертификат.

Как говорится, "Чистота - залог здоровья. Порядок прежде всего!"
Надеюсь, мой опыт сэкономят кому-то много времени.
6. user856012 13 09.11.23 03:40 Сейчас в теме
(5)
После двух суток мучений нашёл решение самостоятельно.
Гм! Между созданием темы и сообщением о найденном решении прошло чуть более часа. Куда девались остальные 47 часов? ;-)

P.S. Я вообще не использую флешки для рабочих копий ЭЦП - устанавливаю их в реестр. Да, это посложнее, приходится повозиться с утилитой BIN2HEX и текстовым редактором, но считаю, что оно того стоит - надежнее, да и несанкционированно скопировать ключ реестра мал-мал посложнее, чем папку с флешки.

Или банально стырить ее. :-)
7. AndrewAks 11 09.11.23 11:21 Сейчас в теме
(6) Форум на Инфостарте это последняя надежда была ) посту предшествовали два бессонных дня, обсуждение проблемы со всеми знакомыми коллегами, звонок в техподдержку 1С ЭДО, и вот это всё. Клиенты без ЭДО нынче жить не могут.

А если ключ неэкспортируемый, тогда как в реестр его засунуть? Я знаю, что есть хитрая утилита, которой можно сделать ключ экспортируемым, но я её не нашёл на просторах интернета.
8. user856012 13 10.11.23 15:52 Сейчас в теме
(7)
если ключ неэкспортируемый, тогда как в реестр его засунуть?
Несложно, но придется повозиться: средствами КриптоПро штатно записываем в реестр любую ЭЦП - можно просроченную, неважно, но под нужным именем! После этого редактором реестра экспортируем ветку с этим контейнером в REG-файл. Открываем его в текстовом редакторе и смотрим на структуру - там все несложно.

После этого упоминавшейся утилитой BIN2HEX конвертируем бинарные файлы контейнера в HEX-файлы, текстовым редактором подгоняем их в формат REG (можно для этого написать приблуду на той же 1С, но мне лениво - не так часто приходится заниматься), копируем полученные тексты в соответствующие места REG, импортируем его в реестр - вуаля!
есть хитрая утилита, которой можно сделать ключ экспортируемым, но я её не нашёл на просторах интернета.
Вот тут посмотрите и, главное, прочитайте предупреждение.

Только я этим способом предпочитаю не пользоваться: как-никак, а это модификация ЭЦП - лишний риск разборок с ФНС.

Да и стырить ее из реестра становится делом нехитрым, а при моем способе ЭЦП остается неэкспортируемой - лично мне так малость поспокойнее.
AndrewAks; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот