При администрировании серверов 1С:Предприятие часто возникает дилемма: стоит ли переходить на 64-битную версию платформы, если часть функционала (например, работа с электронно-цифровой подписью через КриптоПро CSP) завязана на старые 32-битные компоненты. В этой статье мы подробно разберем, как сосуществуют разные архитектуры платформы на одном сервере, выясним причины возможных конфликтов с криптографическим ПО и составим план действий для обеспечения стабильной работы системы.
Рассмотрим техническую возможность одновременной установки. В операционных системах семейства Windows 64-битные и 32-битные приложения устанавливаются в разные директории (C:\Program Files\1cv8 и C:\Program Files (x86)\1cv8 соответственно). Это позволяет физически хранить файлы обеих версий платформы без каких-либо конфликтов. Проанализируем, как это работает на практике:
1cestart.exe (общий загрузчик), система позволяет в настройках конкретной информационной базы указать необходимую разрядность. Если установлены обе версии, вы можете принудительно запускать одну базу под 32-битным клиентом, а другую — под 64-битным.Выясним причину опасений по поводу «кривой работы» КриптоПро. На самом деле, современные версии КриптоПро CSP (начиная с 4.0) являются гибридными. При установке в 64-битную ОС инсталлятор автоматически регистрирует в системе библиотеки обеих архитектур. Проблема кроется не в самом криптопровайдере, а в способе обращения к нему из кода 1С.
Разберем основные сценарии взаимодействия:
Использование устаревшей библиотеки CAPICOM. Это ключевой момент. Библиотека CAPICOM.dll, которую часто использовали в старых конфигурациях 1С, существует только в 32-битном исполнении. Если ваш код инициализирует COM-объект этой библиотеки, то в 64-битном процессе (будь то клиент или сервер 1С) он работать не будет. Процесс просто не сможет загрузить 32-битную DLL в свое адресное пространство.
Использование объекта МенеджерКриптографии. В современных типовых решениях на базе БСП (Библиотеки стандартных подсистем) взаимодействие с КриптоПро реализовано через встроенный объект 1С МенеджерКриптографии. Этот объект работает напрямую через программный интерфейс CryptoAPI Windows. Поскольку Windows предоставляет 64-битные интерфейсы к CSP, 64-битная платформа 1С прекрасно с ними взаимодействует.
Если подписание документов или проверка подписей происходит в серверном контексте (например, при обмене ЭДО через фоновые задания), необходимо выполнить ряд специфических настроек. Проанализируем их по шагам:
USR1CV8). У этого пользователя должен быть доступ к закрытым ключам.USR1CV8.Посмотрим на пример кода, который позволяет определить доступность менеджера криптографии и проверить установленные модули в контексте исполняемого кода:
// Пример получения списка установленных криптопровайдеров
Процедура ПроверитьДоступностьКриптографии()
Попытка
Менеджер = Новый МенеджерКриптографии("", "", 80); // Тип провайдера 80 для ГОСТ 2012
СписокМодулей = Менеджер.ПолучитьСписокМодулейКриптографии();
Для Каждого Модуль Из СписокМодулей Цикл
Сообщить("Найден модуль: " + Модуль.Имя + " (Тип: " + Модуль.Тип + ")");
КонецЦикла;
Исключение
Сообщить("Ошибка инициализации криптографии: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Этот код будет успешно работать как на 32-битной, так и на 64-битной платформе, при условии, что в системе корректно установлен КриптоПро CSP.
Если вам все же жизненно необходимо использовать 32-битную библиотеку (например, специфическую компоненту от банка или старый CAPICOM) в 64-битном процессе сервера 1С, существует архитектурное решение через Component Services (COM+). Разберем этот метод:
dllhost.exe), который работает в 32-битном режиме и выступает мостом между 64-битной 1С и 32-битной библиотекой.Подводя итог нашему анализу, можно с уверенностью сказать: устанавливать 32-битную и 64-битную платформы 1С на одном сервере можно и безопасно. Это не вызывает конфликтов в работе КриптоПро CSP, если конфигурация 1С написана с использованием современных методов работы с криптографией.
Основные выводы:
CAPICOM в пользу встроенного объекта МенеджерКриптографии.Таким образом, наличие 64-битной версии 1С не является препятствием для работы с криптографией, а параллельная установка двух версий платформы является нормальной практикой при миграции или решении специфических технических задач.