Проблема использования аппаратных ключей защиты HASP (Sentinel) на новых ноутбуках Apple с процессорами архитектуры ARM (M1, M2, M3) является одной из самых острых для системных администраторов и разработчиков 1С. Традиционный сценарий «пробросить USB-ключ в виртуальную машину с Windows» в данном случае сталкивается с фундаментальными архитектурными ограничениями. Рассмотрим подробно, почему это происходит и какие существуют пути решения данной задачи.
Для начала проанализируем ситуацию с технической стороны. Когда мы запускаем Parallels Desktop на MacBook с чипом M1/M2/M3, мы устанавливаем не обычную версию Windows, а Windows 11 ARM. Хотя эта операционная система обладает мощным слоем эмуляции (Prism), который позволяет запускать обычные x86 и x64 приложения (включая платформу 1С), она имеет одно критическое ограничение: Windows ARM не может эмулировать драйверы уровня ядра.
Драйвер Sentinel HASP/LDK, который отвечает за связь операционной системы с аппаратным USB-ключом, работает именно на уровне ядра (Kernel Mode). На текущий момент компания Thales (производитель ключей) не выпустила полноценный драйвер для Windows ARM, который поддерживал бы именно физические USB-токены. В результате мы наблюдаем следующую картину:
Sentinel HASP/LDK Windows GUI Runtime Installer версии 9.14 и выше может успешно завершить работу в Windows ARM.Рассмотрим по шагам, какие альтернативные стратегии мы можем применить для запуска 1С в таких условиях.
Проанализируем самый надежный и официальный способ решения проблемы. Фирма 1С активно переводит пользователей с аппаратных ключей на программные лицензии (пин-коды). Программная лицензия не требует установки низкоуровневых USB-драйверов, так как она привязывается к параметрам компьютера (в нашем случае — к параметрам виртуальной машины).
Для реализации этого метода проделаем следующие действия:
Конфигуратор или Предприятие.Важный момент: При использовании Parallels Desktop старайтесь не менять количество ядер процессора или объем оперативной памяти виртуальной машины после активации, так как это может привести к «слету» лицензии из-за изменения характеристик оборудования.
Если у вас есть возможность использовать не локальный (однопользовательский), а сетевой ключ защиты (обычно красного цвета), проблему можно решить через сетевое взаимодействие. Сетевой ключ не обязательно подключать напрямую к MacBook. Разберем этот сценарий подробнее:
Посмотрим на схему работы: ключ устанавливается в любой другой компьютер в вашей локальной сети, работающий на базе процессора Intel/AMD под управлением обычной Windows или Linux. На этом компьютере запускается HASP License Manager.
Теперь настроим нашу виртуальную Windows на MacBook, чтобы она видела этот ключ по сети. Для этого нам нужно отредактировать файл nhesp.ini. Пройдем по пути:
C:\Program Files (x86)\Common Files\Aladdin Shared\HASP\nhesp.ini
Отредактируем секцию [NH_TCPIP], указав конкретный IP-адрес компьютера, в который вставлен ключ:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Замените на IP вашего сервера с ключом
NH_USE_UDP = Disabled
NH_USE_TCP = Enabled
В этом случае виртуальной машине вообще не нужны драйверы USB-ключа, так как платформа 1С будет общаться с менеджером лицензий по протоколу TCP/IP.
Если ваша задача — тестирование конфигурации, и она не завязана на специфические Windows-only внешние компоненты (например, работа с торговым оборудованием через старые COM-объекты), мы рекомендуем использовать нативный клиент 1С для macOS.
Начиная с версии 8.3.18.1300, платформа 1С поддерживает архитектуру Apple Silicon напрямую. Рассмотрим преимущества этого подхода:
Для запуска 1С с аппаратным ключом в macOS достаточно скачать с портала техподдержки дистрибутив «Клиент 1С:Предприятия для macOS» (версии Universal или ARM64), установить его и просто вставить ключ в порт USB-C (через оригинальный переходник).
Как упоминалось в обсуждении на форуме, если доступ к ключу нужен срочно для разового теста, можно воспользоваться механизмом временных лицензий. Фирма 1С предоставляет возможность получения лицензий для разработчиков через личный кабинет на портале 1С:ИТС или через сервис 1С:Облачный кассир в тестовом режиме.
Также проанализируем вариант с использованием комьюнити-версии 1С. Если ваша цель — изучение разработки или тестирование кода, вы можете установить официальную версию для разработчиков, которая не требует аппаратного ключа, но имеет ряд ограничений (например, на количество данных в базе или количество одновременных сеансов).
Некоторые пользователи пытаются решить проблему с помощью софта для проброса USB по сети, такого как VirtualHere или USB Network Gate. Рассмотрим принцип их работы:
Вы запускаете серверную часть на macOS (хосте), а клиентскую — внутри виртуальной Windows. Программа пытается обмануть систему, представляя USB-устройство не как локальное, а как сетевое. Однако, практика показывает, что для аппаратных ключей защиты 1С это решение часто оказывается нерабочим. Даже если VirtualHere успешно передаст дескрипторы устройства, Windows ARM всё равно потребует драйвер для инициализации этого устройства, а мы возвращаемся к тому, что совместимого драйвера для ARM64 в природе не существует.
Подведем итог нашему разбору. На текущий момент «подружить» локальный аппаратный ключ 1С и Windows 11 ARM на процессорах M1/M2/M3 напрямую невозможно из-за отсутствия системных драйверов от Thales.
Мы рекомендуем придерживаться следующего плана действий:
nhesp.ini в виртуальной машине.Будем надеяться, что в будущем производители средств защиты выпустят нативные драйверы для Windows ARM, но, учитывая текущий тренд перехода на облачные и программные методы лицензирования, приоритет этой задачи у разработчиков остается невысоким.