Полученить информацию о состоянии токена можно с помощью флагов. Сами значения флагов получаются с помощью метода getTokenInfo().
Флаги читаются следующим образом:
getTokenInfo().Примеры использования флагов для проверки PIN-кода пользователя
CKF_USER_PIN_COUNT_LOW (маска – 0x00010000) – флаг устанавливается, если количество оставшихся попыток ввода ПИН-кода пользователя меньше 3;CKF_USER_PIN_FINAL_TRY (маска – 0x00020000) – флаг устанавливается, если осталась последняя попытка ввода PIN-кода;CKF_USER_PIN_LOCKED (маска – 0x00040000) – флаг устанавливается, если PIN-код пользователя был заблокирован.Пример 1
getTokenInfo() равно 67085 и представляется в шестнадцатеричном виде как 1060D.CKF_USER_PIN_COUNT_LOW 0x0001000001h – значит количество попыток ввода меньше 3.Пример 2
getTokenInfo() равно 198157 и представляется в шестнадцатеричном виде как 3060D.CKF_USER_PIN_COUNT_LOW 0x00010000CKF_USER_PIN_FINAL_TRY 0x0002000003h (01h + 02h) – значит у пользователя последняя попытка ввести правильный PIN-код.