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 из следующего набора:
Запускается в режимах
| Результат: |
Совет Полный список ошибок см. в приложении. |
|---|