Ключ защиты HASP не виден в 1С: как найти причину
Содержание
Утро, бухгалтер открывает базу — а вместо неё окно Не обнаружен ключ защиты программы или полученная ранее лицензия!. Ключ 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С и, если ключ сетевой, остановите службу диспетчера лицензий (о ней ниже).
- Выполните
haspdinst.exe -rи дождитесь сообщения об успешном удалении. - Выньте ключ из порта.
- Выполните
haspdinst.exe -i. - Вставьте ключ обратно — 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 или из другой подсети его нет, и адрес нужно задать явно.
Как указать сервер лицензий явно:
- На клиенте откройте
http://localhost:1947. - Перейдите в раздел
Configuration → Access to Remote License Managers. - Включите
Allow Access to Remote Licensesи в полеRemote License Search Parametersвпишите IP-адрес или имя сервера, где стоит ключ. - Сохраните и обновите страницу — сервер и его ключ появятся в разделе Sentinel Keys.
Параллельно проверьте проходимость:
- 🔥 На сервере лицензий в брандмауэре открыт порт
1947на вход, по протоколам TCP и UDP. UDP нужен именно для broadcast-поиска. - 🌐 Клиент и сервер видят друг друга по сети:
pingдо сервера проходит. - 🧱 VPN или межсетевой экран не режут трафик к
1947.
Если лицензии заканчиваются (например, 5-пользовательский ключ, а работают шестеро), ключ исправен — дело в количестве мест. Посмотрите раздел Sessions в ACC: там видно, кто занял лицензии, в том числе «подвисшие» сеансы, которые не освободились после аварийного закрытия 1С.
С подвисшими сеансами есть нюанс: сетевая лицензия не освобождается мгновенно. После того как пользователь аварийно закрыл 1С (зависание, выключение питания), его место остаётся занятым, пока не истечёт тайм-аут неактивности. Поэтому, если «мест не хватает» сразу после массового сбоя, иногда достаточно подождать несколько минут, а не искать виноватого. Принудительно сбрасывать чужие сеансы в ACC стоит только осознанно: пользователь в этот момент потеряет несохранённые данные.
Коды ошибок и журналы
Текст ошибки 1С обычно общий, а деталь прячется в формулировке и логах.
haspdinst.exe -r и -i.Где искать подробности:
- 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 и зачем он нужен?
1947. По нему открывается веб-консоль Admin Control Center и по нему же рабочие станции ищут сетевой ключ. Если порт закрыт брандмауэром, клиент ключ не найдёт.Чем локальный ключ отличается от сетевого?
Ключ виден в Admin Control Center, но 1С пишет, что лицензии нет. Почему?
Можно ли одновременно использовать аппаратный ключ и программную лицензию?
После обновления платформы ключ перестал определяться. Что делать?
haspdinst.exe -r, затем haspdinst.exe -i, и только потом вставьте ключ обратно в порт.