...
Code Block |
---|
CK_DEFINE_FUNCTION(CK_RV, C_EX_TokenManage)(
CK_SESSION_HANDLE hSession,
CK_ULONG ulMode,
CK_VOID_PTR pValue
); |
Параметры
hSession | [in] | дескриптор сессии |
ulMode | [in] | режим работы функции: MODE_RESET_CUSTOM_PIN_TO_STANDARD – сбросить кастомизированный PIN-код по-умолчанию на стандартный.
MODE_RESET_PIN_TO_DEFAULT – сброс PIN-кода на PIN-код по-умолчанию
MODE_CHANGE_DEFAULT_PIN – установить кастомизированный PIN-код по-умолчанию.
MODE_FORCE_USER_TO_CHANGE_PIN – установить флаг принудительной смены PIN-кода.
|
pValue | [in] | - при режиме
MODE_RESET_CUSTOM_PIN_TO_STANDARD в качестве параметра pValue передается указатель на тип пользователя (CKU_USER или CKU_SO), для которого сбрасывается PIN-код по-умолчанию - при режиме
MODE_RESET_PIN_TO_DEFAULT в качестве параметра pValue передается указатель на тип пользователя (CKU_USER или CKU_SO или локальные пользователи), для которого сбрасывается PIN-код - при режиме
MODE_CHANGE_DEFAULT_PIN в качестве параметра pValue передается указатель на структуру CK_VENDOR_PIN_PARAMS :
typedef struct CK_VENDOR_PIN_PARAMS {
CK_USER_TYPE userType;
CK_UTF8CHAR_PTR pPinValue;
CK_ULONG ulPinLength;
} CK_VENDOR_PIN_PARAMS;
userType – тип пользователя, для которого устанавливаем кастомизированный PIN-код (CKU_USER или CKU_SO)
pPinValue – массив байт содержащий кастомизированный PIN-код по-умолчанию - при режиме
MODE_FORCE_USER_TO_CHANGE_PIN в качестве параметра pValue передается указатель на тип пользователя (CKU_USER или CKU_SO), которого мы хотим заставить сменить PIN-код:
|
Возвращаемые значения
CKR_OK
– функция выполнена успешно.
...
Code Block |
---|
CK_DEFINE_FUNCTION(CK_RV, C_EX_SlotManage) (
CK_SLOT_ID slotID,
CK_ULONG ulMode,
CK_VOID_PTR pValue
) |
Параметры
hSession | [in] | дескриптор сессии |
ulMode | [in] | режим работы функции: MODE_GET_LOCAL_PIN_INFO – получение информации о локальных PIN-кодах
MODE_GET_PIN_SET_TO_BE_CHANGED – получение информации об принудительной смене PIN-кода
MODE_RESTORE_FACTORY_DEFAULTS – расширенная инициализация токена
MODE_GET_IMIT – получение имитовтавки (работает на ST23 2.0)
|
pValue | [out] | - При режиме
MODE_GET_LOCAL_PIN_INFO – указатель, на структуру CK_LOCAL_PIN_INFO:
typedef struct CK_LOCAL_PIN_INFO {
CK_ULONG ulPinID;
CK_ULONG ulMinSize;
CK_ULONG ulMaxSize;
CK_ULONG ulMaxRetryCount;
CK_ULONG ulCurrentRetryCount;
CK_FLAGS flags;
} CK_LOCAL_PIN_INFO;
ulPinID – идентификатор локального PIN-кода (входной параметр). - При режиме
MODE_GET_PIN_SET_TO_BE_CHANGED – указатель тип пользователя (CKU_USER или CKU_SO), для которого хотим узнать установлен ли флаг принудительной смены PIN-кода. - При режиме
MODE_GET_PIN_SET_TO_BE_CHANGED – указатель на структуру CK_VENDOR_RESTORE_FACTORY_DEFAULTS_PARAMS
typedef struct CK_VENDOR_RESTORE_FACTORY_DEFAULTS_PARAMS {
CK_ULONG ulSizeofThisStructure;
CK_BYTE_PTR pAdminPin;
CK_ULONG ulAdminPinLen;
CK_RUTOKEN_INIT_PARAM_PTR pInitParam;
CK_BYTE_PTR pNewEmitentKey;
CK_ULONG ulNewEmitentKeyLen;
CK_ULONG ulNewEmitentKeyRetryCount;
} CK_VENDOR_RESTORE_FACTORY_DEFAULTS_PARAMS;
CK_RUTOKEN_INIT_PARAM_PTR – описание структуры в заголовочном файле rtpkcs11t.h
pNewEmitentKey – ключ Эмитента
ulNewEmitentKeyRetryCount – количество попыток доступа к ключу Эмитента - При режиме
MODE_GET_IMIT – указатель на структуру CK_TOKEN_IMIT_DATA
typedef struct CK_TOKEN_IMIT_DATA {
CK_BYTE bMode;
CK_BYTE pbGostSymmetricKey[32];
CK_BYTE pbImit[8];
} CK_TOKEN_IMIT_DATA;
bMode – IMIT_MODE_MASK_PATCH или IMIT_MODE_MASK (входной параметр)
pbGostSymmetricKey – значение симметричного ключа (входной параметр)
|
Для режима работы функции MODE_GET_LOCAL_PIN_INFO
в pValue возвращается указатель массив структур типа CK_LOCAL_PIN_INFO
:
ulPinID | [in] | идентификатор PIN-кода |
ulMinSize | [out] | заданная минимальная длина PIN-кода |
ulMaxSize | [out] | заданная максимальная длина PIN-кода |
ulMaxRetryCount | [out] | заданное максимальное значение счетчика неверных попыток ввода пароля |
ulCurrentRetryCount | [out] | текущее значение счетчика оставшихся попыток ввода пароля: 0 – PIN-код заблокирован |
flags | [out] | информационные флаги: LOCAL_PIN_FLAGS_NOT_DEFAULT – локальный PIN-код не является PIN-кодом по умолчанию
LOCAL_PIN_FLAGS_FROM_SCREEN – PIN-код может введен только с экрана
|
Возвращаемые значения
CKR_OK
– функция выполнена успешно.
...
slotID | [in] | идентификатор слота с подключенным токеном |
userType | [in] | владелец раздела, допустимые значения: CKU_USER – глобальный пользователь; CKU_SO – глобальный администратор; CKU_LOCAL_X, где X – число от 1 число X от 3 до 8 – локальный пользователь X |
pPin | [in] | PIN-код пользователя |
ulPinLen | [in] | длина PIN-кода пользователя |
idVolume | [in] | идентификатор раздела |
newAccessMode | [in] | новые флаги доступа к разделу |
bPermanent | [in] | флаг режима измения атрибута: CK_TRUE – постоянное изменение атрибута доступа, действует вплоть до следующего изменения атрибутов; СK_FALSE – временное изменение прав доступа, действует до первого отключения устройства из USB-порта, после чего права доступа сбрасываются на прежние. |
...