C_GetSlotList
¶C_GetSlotList
(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount)¶Параметры: |
|
---|
Функция используется для получения списка слотов в системе. При этом возвращает список только слотов с поддерживаемыми апплетами.
Работа с данной функцией осуществляется в два шага:
pSlotList == NULL_PTR
– функция возвращает количество слотов в pulCount
.pSlotList != NULL_PTR
– pulCount
должен содержать размер (в элементах CK_SLOT_ID
) буфера,
указывающего на pSlotList
. Если размер буфера достаточен, список слотов возвращается через pSlotList
.Примечание
Поскольку в библиотеке всегда ровно 20 слотов, подключение или отключение аппаратных устройств не влияет
на список слотов, который функция C_GetSlotList
записывает в массив CK_SLOT_ID
, когда первый
аргумент этой функции, tokenPresent
, принимает значение CK_FALSE
. Обратите внимание, что на каждый
апплет выделятся отдельный слот, поэтому одному токену может соответствовать несколько слотов.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_GetSlotInfo
¶C_GetSlotInfo
(CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)¶Параметры: |
|
---|
Получает информацию о заданном слоте.
Согласно стандарту PKCS #11 функция C_GetSlotInfo
записывает сведения о подключённом устройстве
в структуру типа CK_SLOT_INFO
.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_GetTokenInfo
¶C_GetTokenInfo
(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)¶Параметры: |
|
---|
Возвращает указатель на структуру CK_TOKEN_INFO
с информацией об апплете, соответствующем заданному слоту. В случае использования
Антифрод-терминала возвращает значение флага CKF_PROTECTED_AUTHENTICATION_PATH.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_WaitForSlotEvent
¶C_WaitForSlotEvent
(CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved)¶Параметры: |
|
---|
Функция C_WaitForSlotEvent
отслеживает отключение и подключение устройств.
Примечание
Данная функция не доступна на Android.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_GetMechanismList
¶C_GetMechanismList
(CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount)¶Параметры: |
|
---|
Данная функция используется для получения списка механизмов поддерживаемых токеном.
Работа с данной функцией осуществляется в два шага:
pMechanismList == NULL_PTR
– функция возвращает количество механизмов в pulCount
.pMechanismList != NULL_PTR
– pulCount
должен содержать размер (в элементах CK_MECHANISM_TYPE
)
буфера, указывающего на pMechanismList
. Если размер буфера достаточен, список слотов возвращается через
pMechanismList
.Функция C_GetMechanismList
записывает в массив список доступных механизмов. Списки механизмов для
поддерживаемых апплетов смотри в приложении.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_GetMechanismInfo
¶C_GetMechanismInfo
(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo)¶Параметры: |
|
---|
Получает информацию о заданном механизме.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_InitToken
¶C_InitToken
(CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel)¶Параметры: |
|
---|
Функция C_InitToken
используется для инициализации поддерживаемых апплетов и установки метки токена.
Примечание
При указании нулевой метки токена (NULL_PTR) текущее значение метки сохраняется.
Криптотокен
Процесс инициализации предполагает удаление всех объектов, за исключением информации о ДСЧ. При этом:
Laser
Для устройств модели JXXX
v2.0 операция может выполняться в режимах администратора и гостя. Для всех остальных – только в
режиме администратора. Процесс инициализации включает удаление всех объектов и последующую персонализацию апплета
согласно установленным настройкам. При этом значения PIN-кодов администратора и пользователя устанавливаются на
заданные. Если настройки не были установлены, то используются настройки по умолчанию:
00000000
,11111111
.Примечание
Можно произвести полную очистку содержимого смарт-карты/токена, если в качестве значения PIN-кода администратора передать NULL_PTR, а его длину указать как ноль.
Datastore
Операция доступна, если для апплета инициализирован PUK-код пользователя (PIN-код администратора). Процесс инициализации предполагает удаление всех объектов. При этом:
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_InitPIN
¶C_InitPIN
(CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)¶Параметры: |
|
---|
Функция C_InitPIN
устанавливает значение PIN-кода пользователя.
Функция имеет следующие особенности для каждого из поддерживаемых апплетов:
Криптотокен
По умолчанию PIN-кода пользователя не установлен. Операция доступна, если для апплета не инициализирован PIN-код
пользователя При использовании Антифрод-терминала функция запрашивает PIN-код пользователя с подтверждением на клавиатуре терминала (в этом случае функция вызывается с любым значением параметра pPin
).
Laser
По умолчанию для PIN-кода пользователя установлено значение 11111111
. Операция доступна всегда, при её
выполнении изменяется текущий PIN-код пользователя.
Datastore
По умолчанию для PIN-кода пользователя установлено значение 1234567890
. Операция доступна, если для апплета
инициализирован PUK-код пользователя (PIN-код администратора) и не инициализирован PIN-код пользователя.
PIN-код пользователя может содержать:
PIN-код может содержать символы в кодировке UTF-8 из следующего набора:
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_SetPIN
¶C_SetPIN
(CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_UTF8CHAR_PTR pNewPin, CK_ULONG ulNewLen)¶Параметры: |
|
---|
Функция C_SetPIN
позволяет сменить PIN-код пользователя/администратора. PIN-код пользователя должен быть предварительно
инициализирован (см. C_InitPIN()
).
При работе апплета Криптотокен с использованием Антифрод-терминала для смены PIN-кода (как пользователя, так и администратора) требуется ввести на терминале текущее значение PIN-кода и новое значение. При этом для подтверждения нового значения PIN-кода запрашивается его повторный ввод.
PIN-код пользователя/администратора может содержать:
PIN-код может содержать символы в кодировке UTF-8 из следующего набора:
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|