Ограничение рабочего времени приложения, Armor, Native 64 bit

Добрый день!

Стоит задача ограничить время, проведенное пользователем за приложением, например, 40 часов. Допускается некоторая погрешность во времени. Не могу сообразить, какие средства применить. Использовать нужно Sign для локального решения, Sign Net либо Sign Time Net для сетевого.

Я так понял, что время жизни алгоритма в ключах Time мне не подходит, потому что счетчик запустится после первого обращения к алгоритму вне зависимости от дальнейшего использования (не использования) ключа. Если пользователь пользовался программой 1 час, а потом 39 часов — нет, то время сгорело все равно, мне же нужно, чтобы у пользователя осталось все-таки эти 39 часов вне зависимости от перерыва в работе.

Если мне не изменяет память, то опция /T утилиты nwkey32 периодически "дергала" алгоритм и, если он был задан со счетчиком уменьшения, можно было +/- как-то реализовать подобную логику.

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

С точки зрения сетевой защиты, то рассматривается вариант с одним рабочим местом, чтобы не было неоднозначностей.

Re: Ограничение рабочего времени приложения, Armor, Native 64 bit

Здравствуйте.

Действительно, время жизни алгоритма и другие RTC-сервисы Time-ключей под такую задачу не подойдут.
Тут проще рассмотреть вариант решения со счетчиками аппаратных алгоритмов (свойство "С уменьшением счетчика" — https://dev.guardant.ru/x/X4cT ).

Суть в том, что нужно периодически вызывать API-функцию GrdTransform и передавать ей через параметр dwAlgoNum номер аппаратного алгоритма со счетчиком. Каждый вызов GrdTransform будет декрементировать счетчик на 1.

Таким образом, например, можно значение счетчика запрограммировать =40 и каждый час обращаться к алгоритму. Чтобы уменьшить погрешность можно обращаться к алгоритму чаще и задать большее значение счетчика.

Re: Ограничение рабочего времени приложения, Armor, Native 64 bit

Антон, спасибо за ответ.

Будем организовывать подобную схему. Кстати, такой функционал прекрасно ложится на опции автозащиты Armor: "с заданным интервалом в минутах вызывать указанный алгоритм". Вызов не прошел — работа прекращается. Если есть возможность принять такой запрос на будущую реализацию, то будем благодарны.

Re: Ограничение рабочего времени приложения, Armor, Native 64 bit

Спасибо. Запрос приняли.