Проверка присутствия в системе ключа

Приветствую.

Вопрос в следующем. Как правильней проверить присутствие в системе аппаратного ключа Guardant Sign используя SLK ?

В списке доступных методов запросы всяких фич, подписей, которых попросту может не быть. Единственное что увидел среди описанных в мануале https://dev.guardant.ru/pages/viewpage. … d=71485269 методов это GrdGetLicenseInfo. Но при этом он сразу же выделяет память и получает лицензионную информацию, а в данном случае это не нужно. При этом, если ключа в системе нет, то и ответ происходит не быстро.

Re: Проверка присутствия в системе ключа

Добрый день, namet,

Проверить работу электронного ключа можно по инструкции

(2023-12-11 15:10:49 отредактировано namet)

Re: Проверка присутствия в системе ключа

Александра Старчаус пишет:

Проверить работу электронного ключа можно по инструкции

Добрый день.

Я не о том спрашивал, мне не нужно проверять живой ли у меня на руках ключ и диагностика ключей тоже не нужна, они живые. Мой вопрос в том, есть ли возможность проверить доступность аппаратного ключа Guardant подключенного к компьютеру не запрашивая с него никакой информации методами SLK. Потому что функция GrdGetLicenseInfo из SLK весьма прилично тормозит если её использовать на компе где ключ Guardant не подключен. Нужен какой-то аналог функции GrdCheck из SDK, но в SLK. Просто узнать есть ключ в системе или нет. Есть в SLK такое ?

Re: Проверка присутствия в системе ключа

Добрый день, namet,

Попробуйте воспользоваться функцией GrdFeatureCheck

Re: Проверка присутствия в системе ключа

Александра Старчаус пишет:

Попробуйте воспользоваться функцией GrdFeatureCheck

Дело в том что в разных ключах могут быть разные компоненты. Эта функция по сути проверяет конкретную фичу, а не сам ключ. В данном случае придется проверять все возможные варианты или создавать фичи чисто для проверки самого ключа. На сколько быстрее работает чем GrdGetLicenseInfo без подключенного ключа не проверял.

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

Re: Проверка присутствия в системе ключа

namet пишет:
Александра Старчаус пишет:

Попробуйте воспользоваться функцией GrdFeatureCheck

Дело в том что в разных ключах могут быть разные компоненты. Эта функция по сути проверяет конкретную фичу, а не сам ключ. В данном случае придется проверять все возможные варианты или создавать фичи чисто для проверки самого ключа. На сколько быстрее работает чем GrdGetLicenseInfo без подключенного ключа не проверял.

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

GrdGetLicenseInfo это и правда тяжелый метод, он служит для перебора всех доступных лицензий. GrdFeatureCheck - проверяет действительно корректную фичу, а в лицензии может быть несколько компонентов, и не все могут быть доступными.

Для поиска именно лицензий, кроме GrdGetLicenseInfo ничего нет. Однако, можно с помощью visibility искать не все лицензии, а конкретную.

Пожелание по доработке передала разработчикам.

Re: Проверка присутствия в системе ключа

Добрый день, namet,

Есть некоторая дополнительная информация от разработчиков:
В логике абстракции SLK ключ, это носитель лицензий. Минимально-возможная единица лицензии — компонент (feature). Нет ни одного компонента, нет лицензии, вне зависимости от физического присутствия аппаратного ключа (когда речь именно про аппаратные ключи).
Опишите, пожалуйста, для какого сценария работы вы хотите получать данные о ключах, которые не были проинициализированы в Guardant Station?

(2024-01-10 14:30:25 отредактировано namet)

Re: Проверка присутствия в системе ключа

Александра Старчаус пишет:

Добрый день, namet,

Есть некоторая дополнительная информация от разработчиков:
В логике абстракции SLK ключ, это носитель лицензий. Минимально-возможная единица лицензии — компонент (feature). Нет ни одного компонента, нет лицензии, вне зависимости от физического присутствия аппаратного ключа (когда речь именно про аппаратные ключи).
Опишите, пожалуйста, для какого сценария работы вы хотите получать данные о ключах, которые не были проинициализированы в Guardant Station?

Я немного о другом говорю. Мне всё равно что записано в ключе, мне даже всё равно наш это ключ Guardant или ключ других разработчиков. Я спрашиваю о том, есть ли какое-то менее ресурсоемкое решение определить подключен ли ключ Guardant к машине или нет. Проблема в том, что при запросе лицензии методом GrdGetLicenseInfo, если у клиента воткнут не Guardant ключ, а HASP, ваш метод возвращает информацию об отсутствии лицензии просто чудовищно долго. (Возможно какой-то конфликт с драйвером ключей хаспа, может ещё что) Если стоит ваш ключ или нет никакого ключа то проблемы нет. Столкнулись с этим когда у клиента на одной машине работали одновременно 2 разные версии нашего ПО с вашими ключами и хаспом.

Сейчас из каких-то более менее разумных вариантов решения проблемы остается перебор всех HID устройств, сравнивать какой-нибудь pid/vid. Именно так мы и проверяем наличие хасп ключа. Если его нет, тогда уже не страшно вызывать тормозной GrdGetLicenseInfo. Но ваши ключи то тоже ведь не обязательно хидом могут писаться и нужно универсальное решение.

Re: Проверка присутствия в системе ключа

namet пишет:

Проблема в том, что при запросе лицензии методом GrdGetLicenseInfo, если у клиента воткнут не Guardant ключ, а HASP, ваш метод возвращает информацию об отсутствии лицензии просто чудовищно долго. (Возможно какой-то конфликт с драйвером ключей хаспа, может ещё что) Если стоит ваш ключ или нет никакого ключа то проблемы нет. Столкнулись с этим когда у клиента на одной машине работали одновременно 2 разные версии нашего ПО с вашими ключами и хаспом.

Добрый день,

Уточните, пожалуйста, эта ситуация стабильно воспроизводится на разных машинах или только на одной?

Если стабильно на разных, пришлите, пожалуйста, информацию о версиях прошивок\микропрограмм ключей Sentinel и Guardant, на которых появляется это поведение.

Также, уточните:

  • Версии драйверов (наши и от HASP)

  • Версию Guardant Control Center

  • Версию Admin Control Center

  • Модели ключей

  • Версии ОС