Ключ защиты HASP не виден в 1С: как найти причину

· 9 мин

Содержание

Утро, бухгалтер открывает базу — а вместо неё окно Не обнаружен ключ защиты программы или полученная ранее лицензия!. Ключ HASP при этом торчит в USB-порту и даже горит красным. Разберёмся по шагам, как проверить ключ защиты HASP: от физического контакта и драйвера Sentinel до службы лицензий и веб-консоли Admin Control Center на порту 1947. Диагностика одинакова для локального (фиолетового) и сетевого (красного) ключа — отличается только то, где именно ключ должен быть виден.

Главный инструмент проверки — не 1С, а служебная веб-страница http://localhost:1947. Если ключ там виден, проблема в 1С или в сети; если не виден — в драйвере, службе или самом ключе. С неё и начнём отсчёт.

С чего начать: ключ, порт и индикатор

Сначала исключаем механику — на неё приходится заметная доля обращений.

  • 🔌 Выньте ключ и вставьте его в другой USB-порт, лучше прямо в разъём на материнской плате, а не в хаб или удлинитель. USB-хабы без собственного питания — частая причина пропаданий ключа.
  • 💡 Посмотрите на индикатор. У исправного ключа горит светодиод. Не горит совсем — скорее всего, порт не даёт питания или ключ неисправен.
  • 🧹 Проверьте контакты. Окисленные или запылённые — протрите, на ноутбуках помогает смена порта.
  • 🖥 На сервере в стойке убедитесь, что ключ не задели при обслуживании и он не выпал из переднего порта.

Теперь загляните в Диспетчер устройств Windows (Пуск → Диспетчер устройств, либо Win+X). Исправно установленный ключ отображается в разделе USB-контроллеры как устройство производителя SafeNet (старые ключи — как Aladdin HASP Key). Если ключ виден с жёлтым восклицательным знаком — проблема с драйвером, переходите к следующему разделу. Если ключа нет вообще и он не появляется при переподключении — проблема на уровне железа или кабеля.

Красный сетевой ключ раздаёт лицензии по сети. Проверять его физическое подключение нужно на том компьютере, куда он вставлен (на сервере лицензий), а не на рабочей станции бухгалтера.

Проверяем и переустанавливаем драйвер защиты

Аппаратный ключ 1С работает через драйвер Sentinel HASP (прежнее название — HASP Device Driver от Aladdin). Без драйвера Windows видит ключ как неизвестное USB-устройство, а 1С лицензию не находит.

Драйвер ставится из дистрибутива платформы. Исполняемый файл называется haspdinst.exe и лежит в каталоге с установленной платформой, обычно внутри C:\Program Files\1cv8\<версия>\bin или в папке Protect. Работать с ним нужно из командной строки, запущенной от имени администратора.

Основные команды:

haspdinst.exe -i      установить или обновить драйвер
haspdinst.exe -r      удалить драйвер
haspdinst.exe -info   показать версию установленного драйвера

Надёжный способ вылечить «половинчатую» установку — переустановить начисто:

  1. Закройте все сеансы 1С и, если ключ сетевой, остановите службу диспетчера лицензий (о ней ниже).
  2. Выполните haspdinst.exe -r и дождитесь сообщения об успешном удалении.
  3. Выньте ключ из порта.
  4. Выполните haspdinst.exe -i.
  5. Вставьте ключ обратно — Windows подхватит его и установит устройство.

Если дистрибутива платформы под рукой нет, актуальный runtime-драйвер Sentinel можно поставить отдельным установщиком того же семейства. Версия драйвера роли почти не играет — ставьте не ниже той, что шла с вашей платформой.

Отдельная частая причина — драйвер встал, но конфликтует со старой версией после обновления платформы. В этом случае помогает именно связка «удалить -r → установить -i», а не установка поверх.

Служба лицензий и её настройка

За выдачу лицензий с ключа отвечает системная служба. У современных ключей это Sentinel LDK License Manager (процесс hasplms.exe), у старых — служба HASP Loader. Служба обязательна и для сетевого ключа, и для локального — именно она отвечает на запросы 1С.

Проверьте её состояние: Пуск → Службы (или services.msc). Найдите в списке службу диспетчера лицензий Sentinel/HASP. Она должна быть в состоянии Выполняется, тип запуска — Автоматически.

Что делать, если служба остановлена или её нет:

  • Остановлена — запустите вручную правой кнопкой Запустить и поставьте автозапуск. Если тут же падает — это почти всегда следствие кривого драйвера, вернитесь к переустановке haspdinst.exe.
  • Службы нет в списке — драйвер не установлен или установлен неполностью. Поставьте его командой haspdinst.exe -i.
  • Служба есть, но лицензии не раздаёт — проверьте, не блокирует ли её антивирус или брандмауэр порт 1947.

Останавливать и перезапускать службу диспетчера лицензий на сетевом сервере стоит только в технологическое окно: в момент перезапуска у всех пользователей оборвётся выданная лицензия и 1С потребует её заново.

Admin Control Center: главная страница диагностики

Служба лицензий поднимает локальный веб-сервер на порту 1947. Откройте в браузере http://localhost:1947 — это Sentinel Admin Control Center (ACC), единственное место, где видно всё: какие ключи подключены, какие лицензии в них и кто их занял.

Что смотреть в меню слева:

Раздел ACCЧто проверяем
Sentinel KeysСписок всех ключей — локальных и найденных по сети. Ключа нет в списке → его не видит служба
Products / FeaturesКакие продукты и сколько лицензий зашито в ключе
SessionsКто сейчас держит лицензии (важно, когда «мест не хватает»)
DiagnosticsВерсии драйвера и службы, состояние компонентов

Логика диагностики простая:

  • Ключ есть в разделе Sentinel Keys → физика, драйвер и служба в порядке. Если 1С всё равно не видит лицензию — причина в настройках 1С или в сети до сервера лицензий.
  • Ключа нет даже на том ПК, куда он вставлен → возвращайтесь к драйверу и службе.

Отдельно стоит заглянуть в раздел Features: там видно, сколько лицензий зашито в ключ и не ограничен ли он по сроку. Временные ключи (например, на период подписки ИТС или учебные) после окончания срока перестают выдавать лицензии, оставаясь при этом видимыми в списке ключей. Если ключ в списке есть, а лицензий у него ноль — проверьте именно срок и число мест, прежде чем грешить на драйвер.

Если страница localhost:1947 вообще не открывается — служба не запущена либо порт занят/заблокирован. Это тот же симптом, что «служба остановлена», только видно его в браузере. Проверить, кто держит порт, можно командой netstat -ano | findstr 1947 в командной строке.

Сетевой ключ: когда сервер видит, а рабочие места — нет

Самый частый сетевой случай: на сервере в ACC ключ виден, лицензии есть, а рабочая станция пишет, что ключ не найден. Значит, рвётся связь между клиентом и сервером лицензий.

Рабочая станция ищет сетевой ключ двумя путями — широковещательным запросом (broadcast) по подсети и прямым обращением к адресу сервера. В одной подсети обычно срабатывает broadcast; через маршрутизатор, VPN или из другой подсети его нет, и адрес нужно задать явно.

Как указать сервер лицензий явно:

  1. На клиенте откройте http://localhost:1947.
  2. Перейдите в раздел Configuration → Access to Remote License Managers.
  3. Включите Allow Access to Remote Licenses и в поле Remote License Search Parameters впишите IP-адрес или имя сервера, где стоит ключ.
  4. Сохраните и обновите страницу — сервер и его ключ появятся в разделе Sentinel Keys.

Параллельно проверьте проходимость:

  • 🔥 На сервере лицензий в брандмауэре открыт порт 1947 на вход, по протоколам TCP и UDP. UDP нужен именно для broadcast-поиска.
  • 🌐 Клиент и сервер видят друг друга по сети: ping до сервера проходит.
  • 🧱 VPN или межсетевой экран не режут трафик к 1947.

Если лицензии заканчиваются (например, 5-пользовательский ключ, а работают шестеро), ключ исправен — дело в количестве мест. Посмотрите раздел Sessions в ACC: там видно, кто занял лицензии, в том числе «подвисшие» сеансы, которые не освободились после аварийного закрытия 1С.

С подвисшими сеансами есть нюанс: сетевая лицензия не освобождается мгновенно. После того как пользователь аварийно закрыл 1С (зависание, выключение питания), его место остаётся занятым, пока не истечёт тайм-аут неактивности. Поэтому, если «мест не хватает» сразу после массового сбоя, иногда достаточно подождать несколько минут, а не искать виноватого. Принудительно сбрасывать чужие сеансы в ACC стоит только осознанно: пользователь в этот момент потеряет несохранённые данные.

Коды ошибок и журналы

Текст ошибки 1С обычно общий, а деталь прячется в формулировке и логах.

Диагностика: выберите симптом

Где искать подробности:

  • Admin Control Center, раздел Diagnostics — показывает версии драйвера и службы, состояние компонентов. Первое место, куда смотреть.
  • Журнал регистрации 1С — фиксирует момент, когда база не смогла получить лицензию .
  • Журнал событий Windows (eventvwr.msc, раздел Приложение) — туда служба лицензий пишет сбои запуска.

Числовые коды ошибок ключа (их выдаёт runtime Sentinel) стоит смотреть именно в ACC и в журнале событий, а не гадать по тексту окна 1С: один и тот же текст «ключ не найден» бывает и при отсутствии драйвера, и при нехватке лицензий.

Программные и облачные лицензии: HASP тут ни при чём

Важно не перепутать тип лицензии — диагностика у них разная.

  • Аппаратный ключ HASP — физический USB-ключ. Всё, что выше, про него.
  • Программная лицензия 1С — активируется пин-кодом и привязывается к железу компьютера. Здесь нет ни ключа, ни драйвера Sentinel, ни порта 1947. Файлы лицензий лежат в системном каталоге 1C\1Cv8\conf (путь зависит от версии платформы), а при смене оборудования лицензия может «слететь» и потребовать повторной активации.
  • Аренда 1С в облаке (сервис 1cfresh и подобные) — лицензией управляет провайдер сервиса. На стороне пользователя проверять ключ или драйвер не нужно: при проблемах с доступом вопрос решается через поддержку сервиса.

Как понять, что у вас:

ПризнакТип лицензии
Физический USB-ключ в портуАппаратный HASP
Активация пин-кодом, ключа нетПрограммная лицензия
Работа через браузер/тонкий клиент провайдераОблачная (аренда)

Если ключа HASP у вас физически нет и никогда не было, а 1С перестала запускаться — ищите причину не в этой статье, а в программной лицензии: скорее всего, изменился состав оборудования и её нужно активировать заново по тому же пин-коду.

Короткий порядок проверки

Диагностика ключа HASP
Выполнено: 0 / 8

Частые вопросы

На каком порту работает ключ HASP и зачем он нужен?
Служба лицензий Sentinel слушает порт 1947. По нему открывается веб-консоль Admin Control Center и по нему же рабочие станции ищут сетевой ключ. Если порт закрыт брандмауэром, клиент ключ не найдёт.
Чем локальный ключ отличается от сетевого?
Локальный (фиолетовый) выдаёт лицензии только на том компьютере, где вставлен. Сетевой (красный) раздаёт лицензии по сети на несколько рабочих мест. Диагностика драйвера и службы одинакова, но сетевой дополнительно требует открытого порта и видимости по сети.
Ключ виден в Admin Control Center, но 1С пишет, что лицензии нет. Почему?
Либо все лицензии заняты — посмотрите раздел Sessions, там видно подвисшие сеансы, — либо рабочая станция не достукивается до сервера лицензий. Во втором случае задайте адрес сервера в разделе Remote License Managers на клиенте.
Можно ли одновременно использовать аппаратный ключ и программную лицензию?
Да, платформа принимает любую доступную лицензию. Но диагностика у них разная: для ключа — драйвер и служба, для программной лицензии — пин-код и привязка к оборудованию.
После обновления платформы ключ перестал определяться. Что делать?
Чаще всего виноват старый драйвер. Переустановите его начисто: haspdinst.exe -r, затем haspdinst.exe -i, и только потом вставьте ключ обратно в порт.