JC_Antifraud
¶JC_Antifraud
(CK_ULONG slotId, CK_ULONG operation, CK_BYTE_PTR pArgument, CK_ULONG ulArgumentDataLen, CK_BYTE_PTR pResultingData, CK_ULONG_PTR pulResultingDataLen)¶Параметры: |
|
---|
Функция JC_Antifraud
используется для получения сведений об Антифрод-терминале, работы с ключевой информацией, PIN-кодами, для активации и работы в SWYX-режиме, а также выполнения других административных операций на терминале.
Возможность выполнения операций без смарт-карты определяется версией прошивки Антифрод-терминала. Начиная с версии прошивки 24.32 (первое число - версия ОС терминала, второе - версия приложения) Антифрод-терминал поддерживает выполнение операций как с подключённой смарт-картой, так и без неё. Можно проверить возможность работы без смарт-карты, выполнив функцию с кодом операции AFT_IS_CARDLESS_MODE_SUPPORTED
.
Режим работы терминала без подключённой смарт-карты предназначен для обеспечения безопасной работы с USB-токеном. В общем случае могут быть использованы любые токены, поддерживающие криптографические операции.
Ниже приведены коды операций и значения, записываемые в массив pResultingData
для каждой операции.
Операция | Код | Назначение |
---|---|---|
Операции, выполняемые с подключенной смарт-картой и без смарт-карты | ||
AFT_GET_READER_VERSION | 0 | Получение версии ОС и версии приложения для Антифрод-терминала |
AFT_PIN_VERIFY | 1 | Предъявление PIN-кода пользователя / администратора с помощью Антифрод-терминала |
AFT_PIN_MODIFY | 2 | Смена PIN-кода пользователя / администратора |
AFT_PIN_GET_COPY | 3 | Зарезервировано для дальнейшего использования |
AFT_SWYX_START | 4 | Включение SWYX-режима работы Антифрод-терминала |
AFT_SWYX_STOP | 5 | Завершение SWYX-режима работы Антифрод-терминала |
AFT_SWYX_DISPLAY | 6 | Отображение текста на экране Антифрод-терминала |
AFT_GET_PROPERTIES | 7 | Получение характеристик Антифрод-терминала |
AFT_ENROLL | 8 | Получение открытого ключа Антифрод-терминала |
AFT_CTRL_SWYX_GET_APPLET_SN | 9 | Получение серийного номера апплета Антифрод-терминала |
AFT_PERFORM_PERSONALIZATION | 15 | Генерация собственной ключевой пары Антифрод-терминала |
AFT_IS_CARDLESS_MODE_SUPPORTED | 16 | Проверка, поддерживает ли Антифрод-терминал бескарточный режим работы |
Операции, выполняемые только с подключенной смарт-картой | ||
AFT_ENTER_ADMIN_PIN | 10 | Ввод PIN-кода администратора на Антифрод-терминале и сохранение его на внутреннем чипе терминала |
AFT_SAVE_ADMIN_PIN | 11 | Подтверждение PIN-кода администратора, полученного из приложения, и сохранение его на внутреннем чипе терминала |
AFT_INIT_CARD | 12 | Инициализация подключенной смарт-карты с помощью сохраненного PIN-кода администратора |
AFT_SET_USER_PIN | 13 | Предъявление сохраненного PIN-кода администратора для подключенной смарт-карты (в рамках операции установки PIN-кода пользователя) |
AFT_VERIFY_PIN | 14 | Предъявление PIN-кода пользователя/администратора с помощью Антифрод-терминала с выбором отображаемого сообщения |
AFT_GET_READER_VERSION
- получение данных о версии ОС Антифрод-терминала и версии установленного приложения. Параметров у операции нет. В качестве значения pResultingData
функция возвращает указатель на структуру AFT_GET_READER_VERSION_RESPONCE
.AFT_PIN_VERIFY
– предъявление PIN-кода пользователя или администратора. Происходит запрос на ввод PIN-кода на терминале и передача его в зашифрованном виде в приложение. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_PIN_VERIFY_ARGUMENTS
.pResultingData
- функция возвращает указатель на структуру AFT_PIN_VERIFY_RESPONCE
.AFT_PIN_MODIFY
– смена PIN-кода пользователя/администратора. Происходит запрос на ввод PIN-кода на терминале и передача в зашифрованном виде в приложение. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_PIN_MODIFY_ARGUMENTS
.pResultingData
- функция возвращает указатель на структуру AFT_PIN_VERIFY_RESPONCE
.AFT_SWYX_START
– начать работу в SWYX режиме. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_SWYX_START_ARGUMENTS
, содержащую значение bReference
- идентификатор транзакции (для предотвращения атаки с повтором транзакции).pResultingData
- функция возвращает статус выполнения операции.AFT_SWYX_STOP
– закончить работу в SWYX режиме. Параметров у операции нет. В качестве значения pResultingData
функция возвращает указатель на массив байт с журналом операций и подписью терминала (последние 64 байта).AFT_SWYX_DISPLAY
– отобразить информацию на экране терминала. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_SWYX_DISPLAY_ARGUMENTS
.pResultingData
- функция возвращает статус выполнения операции.AFT_GET_PROPERTIES
– получение свойств терминала. Параметров у операции нет. В качестве значения pResultingData
функция возвращает указатель на структуру AFT_SWYX_PROPERTIES
.AFT_ENROLL
– получение открытого ключа терминала. В качестве pResultingData
возвращает указатель на массив длиной 64 байта с открытым ключом. Возвращает сообщение об ошибке, если ключевая пара терминала еще не была сгенерирована, т.е. еще не выполнялась операция AFT_PERFORM_PERSONALIZATION
(см. ниже).AFT_CTRL_SWYX_GET_APPLET_SN
– получение серийного номера апплета. В качестве pResultingData
возвращает указатель на массив длиной 8 байт с серийным номером апплета.AFT_ENTER_ADMIN_PIN
- ввод с клавиатуры Антифрод-терминала и сохранение PIN-кода администратора (не более 15 символов) на внутреннем чипе терминала. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_ENTER_ADMIN_PIN_ARGUMENTS
.pResultingData
- функция возвращает статус выполнения операции.AFT_SAVE_ADMIN_PIN
- сохранить PIN-код администратора (ограничение - 32 символа) на внутреннем чипе терминала. При этом запрашивается подтверждение у пользователя - на экран Антифрод-терминала выводится следующее сообщение: Сохранить ключ администратора безопасности? (Store security admin’s key в случае английского языка). Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_SAVE_ADMIN_PIN_ARGUMENTS
.pResultingData
- функция возвращает статус выполнения операции.AFT_INIT_CARD
- инициализация подключенной смарт-карты с помощью сохраненнного PIN-кода администратора. При этом на экран Антифрод-терминала выводится следующее сообщение: Инициализировать смарт-карту? (Initialize smart card? в случае английского языка). Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_INIT_CARD_ARGUMENTS
.pResultingData
- функция возвращает статус выполнения операции.AFT_PERFORM_PERSONALIZATION
- генерация собственной ключевой пары Антифрод-терминала. Входные и выходные данные отсутствуют. В случае отказа пользователя возвращается код CKR_FUNCTION_REJECTED
(0x00000200).AFT_IS_CARDLESS_MODE_SUPPORTED
- проверить, поддерживает ли Антифрод-терминал бескарточный режим работы. Параметров у операции нет. В качестве значения pResultingData
функция возвращает указатель на структуру AFT_IS_CARDLESS_MODE_SUPPORTED_RESPONCE
.AFT_SET_USER_PIN
- предъявление сохраненного PIN-кода администратора для подключенной смарт-карты. Необходимо в рамках операции установки PIN-кода пользователя. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_SET_USER_PIN_ARGUMENTS
.pResultingData
- функция возвращает статус выполнения операции.AFT_VERIFY_PIN
- предъявление PIN-кода пользователя на подключенную смарт-карту с выводом на экран терминала сообщения, определенного в m_MessageIdx
. Используются следующие входные/выходные данные:pArgument
- функции передается указатель на структуру AFT_VERIFY_PIN_ARGUMENTS
.pResultingData
- функция возвращает статус выполнения операции.Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Примечание Полный список ошибок см. в приложении. |
---|