Методы для работы с Антифрод-терминалом

aftGetReaderVersion

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
aftGetReaderVersion(int deviceId)

Получить версию прошивки Антифрод-терминала.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
Результат:

array – массив со следующей структурой:

  • первый элемент – версия прошивки ОС терминала.
  • второй – версия прошивки приложения.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

getReaderAppletSerialNumber

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
getReaderAppletSerialNumber(int deviceId)

Получить серийный номер Антифрод-терминала.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
Результат:

array – серийный номер Антифрод-терминала в виде массива байт.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

aftCardlessSupport

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
aftCardlessSupport(int deviceId)

Проверить, поддерживает ли Антифрод-терминал бескарточный режим работы.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
Результат:

true, если терминал поддерживает бескарточный режим работы, false в противном случае.

Примеры ошибок:

  • CKR_FUNCTION_FAILED - обращение к терминалу, не поддерживающему бескарточный режим, и без вставленной смарт-карты.

enroll

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
enroll(int deviceId)

Получить значение открытого ключа Антифрод-терминала.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
Результат:

array – открытый ключ в виде массива байт.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

performPersonalization

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
performPersonalization(int deviceId)

Сгенерировать новую ключевую пару на Антифрод-терминале. Метод запрашивает подтверждение на генерацию ключевой пары для Антифрод-терминала и в случае подтверждения пользователем на экране терминала генерирует новую ключевую пару.

Примечание

Для получения открытого ключа персонализированного ранее терминала используется метод enroll().

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.

Примеры ошибок:

  • CKR_FUNCTION_REJECTED – пользователь нажал отмена.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

performPersonalizationAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
performPersonalizationAsync(int deviceId, JSObjectPtr callback)

Сгенерировать новую ключевую пару на Антифрод-терминале. Метод выполняется асинхронно. Метод запрашивает подтверждение на генерацию ключевой пары для Антифрод-терминала и в случае подтверждения пользователем на экране терминала генерирует новую ключевую пару.

Примечание

Для получения открытого ключа персонализированного ранее терминала используется метод enroll().

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - пустой массив.

Примеры ошибок:

  • CKR_FUNCTION_REJECTED – пользователь нажал отмена.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

aftGetPINAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт Нет
aftGetPINAsync(int slotId, int langId, int timeout, var messageIdx, JSObjectPtr callback)

Метод запрашивает ввод PIN-кода (пользователя/администратора/подписи) на экране Антифрод-терминала и возвращает значение PIN-кода, введённое на клавиатуре Антифрод-терминала. Введённый на Антифрод-терминале PIN-код передаётся в JC-WebClient в зашифрованном виде. JC-WebClient самостоятельно расшифровывает значение PIN-кода, от разработчика не требуется дополнительных действий.

Аргументы:
  • slotId – слот Антифрод-терминала, работающего без смарт-карты. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Значения слота не постоянно, но в рамках сессии не меняется.
  • langId – идентификатор языка, используемого для сообщений: 0x419 – русский, 0x409 – английский.
  • timeout – тайм-аут ожидания ввода от пользователя до отмены операции, в секундах.
  • messageIdx – индекс сообщения, выводимого на экран Антифрод-терминала для приглашения ввода пользователем PIN-кода. Индекс указывается в шестнадцатиричном формате. Например, для вывода сообщения “Введите PIN-код пользователя” надо указать значение параметра messageIdx, равное 0x10; где цифра 1 соответствует слову “пользователя”, а 0 – “Введите PIN-код”. Подробнее см. описание параметра messageIdx.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха – результат выполнения метода.
Результат:

string – PIN-код пользователя.

Примечание

Результат будет передан в параметр callback в качестве входного аргумента.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

aftGetNewPINAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт Нет
aftGetNewPINAsync(int slotId, int langId, int timeout, var message1Idx, var message2Idx, JSObjectPtr callback)

Метод запрашивает на экране Антифрод-терминала ввод нового значения PIN-кода (пользователя/администратора/подписи) при его смене, а затем повторный ввод для подтверждения. В случае, если пользователь дважды ввёл одинаковый PIN-код на клавиатуре терминала, метод возвращает его значение. Введённый на Антифрод-терминале PIN-код передаётся в JC-WebClient в зашифрованном виде. JC-WebClient самостоятельно расшифровывает значение PIN-кода, от разработчика не требуется дополнительных действий.

Аргументы:
  • slotId – слот Антифрод-терминала, работающего без смарт-карты. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Значения слота не постоянно, но в рамках сессии не меняется.
  • langId – идентификатор языка, используемого для сообщений: 0x419 – русский, 0x409 – английский.
  • timeout – тайм-аут ожидания ввода от пользователя до отмены операции, в секундах.
  • message1Idx – индекс первого сообщения, выводимого на экран Антифрод-терминала для приглашения ввода пользователем PIN-кода. Индекс указывается в шестнадцатиричном формате. Например, для вывода сообщения “Введите PIN-код пользователя” надо указать значение параметра messageIdx, равное 0x10; где цифра 1 соответствует слову “пользователя”, а 0 – “Введите PIN-код”. Для вывода сообщения “Повторите PIN пользователя” следует указать значение параметра 0x12. Подробнее см. описание параметра messageIdx.
  • message2Idx – индекс второго сообщения, выводимого на экран Антифрод-терминала для приглашения ввода пользователем PIN-кода (например, если нужно сначала запросить ввод PIN-кода, а затем запросить его подтверждение). Индекс указывается в шестнадцатиричном формате. Например, для вывода сообщения “Введите PIN-код пользователя” надо указать значение параметра messageIdx, равное 0x10; где цифра 1 соответствует слову “пользователя”, а 0 – “Введите PIN-код”. Для вывода сообщения “Повторите PIN пользователя” следует указать значение параметра 0x12. Подробнее см. описание параметра messageIdx.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха – результат выполнения метода.
Результат:

string – PIN-код пользователя.

Примечание

Результат будет передан в параметр callback в качестве входного аргумента.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.
  • CKR_PIN_INCORRECT – вероятная причина: введённое и подтверждённое значения PIN-кода не совпадают.

isSwyxReader

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
isSwyxReader(int deviceId)

Проверить, является ли ридер Антифрод-терминалом.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
Результат:

bool true, если ридер поддерживает SWYX-функционал.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxStart

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST

Не рекомендуется, начиная с версии 3.1.0: Вместо этого используйте метод swyxStartEx().

swyxStart(int deviceId)

Начать работу в SWYX-режиме.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxStartEx

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
swyxStartEx(int deviceId, array reference)

Начать работу в SWYX-режиме с записью в журнал операций значения параметра reference.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • reference – параметр для добавления в журнал операций, представляет собой массив из 8 байт. Предназначен для защиты от попыток повторного навязывания перехваченного журнала вместе с копией уже однажды одобренного сервером документа.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxStartAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST

Не рекомендуется, начиная с версии 3.1.0: Вместо этого используйте метод swyxStartExAsync().

swyxStartAsync(int deviceId, JSObjectPtr callback)

Начать работу в SWYX-режиме. Метод выполняется асинхронно.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - пустой массив.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxStartExAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
swyxStartExAsync(int deviceId, array reference, JSObjectPtr callback)

Начать работу в SWYX-режиме с записью в журнал операций значения параметра reference. Метод выполняется асинхронно.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • reference – параметр для добавления в журнал операций, представляет собой массив из 8 байт. Предназначен для защиты от попыток повторного навязывания перехваченного журнала вместе с копией уже однажды одобренного сервером документа.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - пустой массив.

Примеры ошибок:

  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxStop

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
swyxStop(int deviceId)

Закончить работу в SWYX-режиме.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
Результат:

array – массив байт, содержащий журнал операций в формате XML, и подпись журнала (последние 64 байта этого массива).

Примеры ошибок:

  • CKR_GENERAL_ERROR – SWYX-режим не был предварительно включен.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxStopAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
swyxStopAsync(int deviceId, JSObjectPtr callback)

Закончить работу в SWYX-режиме. Метод выполняется асинхронно.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - результат выполения метода.
Результат:

array – массив байт, содержащий журнал операций в формате XML, и подпись журнала (последние 64 байта этого массива).

Примечание

Результат будет передан в параметр callback в качестве входного аргумента.

Примеры ошибок:

  • СKR_GENERAL_ERROR – SWYX-режим не был предварительно включен.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxDisplay

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST

Не рекомендуется, начиная с версии 3.1.0: Вместо этого используйте метод swyxDisplayEx().

swyxDisplay(int deviceId, string message, int timeout)

Отобразить текст на экране Антифрод-терминала и запросить подтверждение у пользователя.

С помощью клавиатуры Антифрод-терминала пользователю даётся возможность подтвердить или отменить операцию. Метод не выполняет операцию подписания.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • message – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт кодировке UTF8, но не более 400 символов.
  • timeout – тайм-аут подтверждения в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxDisplayEx

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
swyxDisplayEx(int deviceId, string message, int timeout, int langId, var messageIdx)

Отобразить текст на экране Антифрод-терминала и запросить подтверждение у пользователя.

С помощью клавиатуры Антифрод-терминала пользователю даётся возможность подтвердить или отменить операцию. Метод не выполняет операцию подписания.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • message – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт в кодировке UTF8, но не более 400 символов.
  • timeout – тайм-аут подтверждения в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.
  • langId – идентификатор языка, используемого для вывода на экран подтверждений (напр. Подтвердить или Confirm). Возможные значения: 0x419 – русский, 0x409 – английский.
  • messageIdx – индекс сообщения, используемого для подтверждений. Возможные значения: 0 - “Подтвердить”, 1 - “Подписать”.

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxDisplayAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST

Не рекомендуется, начиная с версии 3.1.0: Вместо этого используйте метод swyxDisplayExAsync().

swyxDisplayAsync(int deviceId, string message, int timeout, JSObjectPtr callback)

Отобразить текст на экране Антифрод-терминала и запросить подтверждение у пользователя. Метод выполняется асинхронно.

С помощью клавиатуры Антифрод-терминала пользователю дается возможность подтвердить или отменить операцию. Метод не выполняет операцию подписания.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • message – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт кодировке UTF8, но не более 400 символов.
  • timeout – тайм-аут подтверждения текста на экране Антифрод-терминала в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - пустой массив.

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена.
  • СKR_ARGUMENTS_BAD – ошибка в аргументах функции.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxDisplayExAsync

Работает ли без подключенной смарт-карты Да
Тип поддерживаемых смарт-карт
GOST
swyxDisplayExAsync(int deviceId, string message, int timeout, int langId, var messageIdx, JSObjectPtr callback)

Отобразить текста на экране Антифрод-терминала и запросить подтверждение у пользователя. Метод выполняется асинхронно.

С помощью клавиатуры Антифрод-терминала пользователю даётся возможность подтвердить или отменить операцию. Метод не выполняет операцию подписания.

Аргументы:
  • deviceId – слот Антифрод-терминала, работающего без смарт-карты, или идентификатор смарт-карты, подключенной к Антифрод-терминалу. Слот Антифрод-терминала получается с помощью метода getAllSlots(). Идентификатор смарт-карты получается с помощью метода getAllTokens(). Значения слота и идентификатора не постоянны, но в рамках сессии не меняются.
  • message – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт в кодировке UTF8, но не более 400 символов.
  • timeout – тайм-аут подтверждения в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.
  • langId – идентификатор языка, используемого для вывода на экран подтверждений (напр. Подтвердить или Confirm). Возможные значения: 0x419 – русский, 0x409 – английский.
  • messageIdx – индекс сообщения, используемого для подтверждений. Возможные значения: 0 - “Подтвердить”, 1 - “Подписать”.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - пустой массив.

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа или слот Антифрод-терминала.

swyxSign

Типы USB-токенов, используемых в качестве средства ЭП в бескарточном режиме
GOST
PRO
Типы смарт-карт, используемых в качестве средства ЭП при подключении к Антифрод-терминалу
GOST

Не рекомендуется, начиная с версии 3.1.0: Вместо этого используйте метод swyxSignEx().

swyxSign(int tokenDesc, int contID, array data, string displayedMessage, bool askPin, bool attachedSignature, bool hardwareHash, int timeout)

Визуализировать и подписать данные, используя Антифрод-терминал.

Метод выполняет следующую последовательность действий:

  1. swyxStart(),
  2. swyxDisplay(),
  3. signData(),
  4. swyxStop().
Аргументы:
  • tokenDesc – идентификатор электронного ключа или смарт-карты, подключенной к Антинфрод-терминалу. Получается с помощью метода getAllTokens(). Значение идентификатора не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера с помощью методов createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • data – данные для подписи в виде массива байт.
  • displayedMessage – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт кодировке UTF8, но не более 400 символов.
  • askPin – дополнительно запросить PIN-код пользователя перед отображением текста на экране Антинфрод-терминала.
  • attachedSignature – включать ли данные в подпись PKCS#7 (true - включать).
  • hardwareHash – использовать ли аппаратный расчёт хеш значения для подписи (true - использовать).
  • timeout – тайм-аут подтверждения текста на экране Антифрод-терминала в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.
Результат:

array – массив со следующей структурой:

  • первый элемент – подпись (в виде массива байт) для переданных данных (параметр data) в формате PKCS#7, вычисленная на смарт-карте.
  • второй – журнал операций Антифрод-терминала в формате XML вместе с подписью этого журнала на ключе самого терминала (подпись занимает последние 64 байта второго элемента).

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции подписи или ввода PIN-кода.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена при подтверждении подписи или при вводе PIN-кода.
  • CKR_PIN_LEN_RANGE – пользователь ввёл слишком короткий или слишком длинный PIN-код.
  • CKR_PIN_INCORRECT – пользователь ввёл неверный PIN-код.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа.

swyxSignEx

Типы USB-токенов, используемых в качестве средства ЭП в бескарточном режиме
GOST
PRO
Типы смарт-карт, используемых в качестве средства ЭП при подключении к Антифрод-терминалу
GOST
swyxSignEx(int tokenDesc, int contID, array data, string displayedMessage, bool askPin, bool attachedSignature, bool hardwareHash, int timeout, array reference, int langId, var messageIdx)

Визуализировать и подписать данные, используя Антифрод-терминал.

Метод выполняет следующую последовательность действий:

  1. swyxStartEx(),
  2. swyxDisplayEx(),
  3. signData(),
  4. swyxStop().
Аргументы:
  • tokenDesc – идентификатор электронного ключа или смарт-карты, подключенной к Антинфрод-терминалу. Получается с помощью метода getAllTokens(). Значение идентификатора не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера с помощью методов createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • data – данные для подписи в виде массива байт.
  • displayedMessage – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт кодировке UTF8, но не более 400 символов.
  • askPin – дополнительно запросить PIN-код пользователя перед отображением текста на экране Антинфрод-терминала.
  • attachedSignature – включать ли данные в подпись PKCS#7 (true - включать).
  • hardwareHash – использовать ли аппаратный расчёт хеш значения для подписи (true - использовать).
  • timeout – тайм-аут подтверждения текста на экране Антифрод-терминала в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.
  • reference – параметр для добавления в журнал операций, представляет собой массив из 8 байт. Предназначен для защиты от попыток повторного навязывания перехваченного журнала вместе с копией уже однажды одобренного сервером документа.
  • langId – идентификатор языка, используемого для вывода на экран подтверждений (напр. Подтвердить или Confirm). Возможные значения: 0x419 – русский, 0x409 – английский.
  • messageIdx – индекс сообщения, используемого для подтверждений. Возможные значения: 0 - “Подтвердить”, 1 - “Подписать”.
Результат:

array – массив со следующей структурой:

  • первый элемент – подпись (в виде массива байт) для переданных данных (параметр data) в формате PKCS#7, вычисленная на смарт-карте.
  • второй – журнал операций Антифрод-терминала в формате XML вместе с подписью этого журнала на ключе самого терминала (подпись занимает последние 64 байта второго элемента).

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции подписи или ввода PIN-кода.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена при подтверждении подписи или при вводе PIN-кода.
  • CKR_PIN_LEN_RANGE – пользователь ввёл слишком короткий или слишком длинный PIN-код.
  • CKR_PIN_INCORRECT – пользователь ввёл неверный PIN-код.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа.

swyxSignAsync

Типы USB-токенов, используемых в качестве средства ЭП в бескарточном режиме
GOST
PRO
Типы смарт-карт, используемых в качестве средства ЭП при подключении к Антифрод-терминалу
GOST

Не рекомендуется, начиная с версии 3.1.0: Вместо этого используйте метод swyxSignExAsync().

swyxSignAsync(int tokenDesc, int contID, array data, string displayedMessage, bool askPin, bool attachedSignature, bool hardwareHash, int timeout, JSObjectPtr callback)

Визуализировать и подписать данные, используя Антифрод-терминал.

Метод асинхронно выполняет следующую последовательность действий:

  1. swyxStart(),
  2. swyxDisplay(),
  3. signData(),
  4. swyxStop().
Аргументы:
  • tokenDesc – идентификатор электронного ключа или смарт-карты, подключенной к Антинфрод-терминалу. Получается с помощью метода getAllTokens(). Значение идентификатора не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера с помощью методов createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • data – данные для подписи в виде массива байт.
  • displayedMessage – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт кодировке UTF8, но не более 400 символов.
  • askPin – дополнительно запросить PIN-код пользователя перед отображением текста на экране Антифрод-терминала.
  • attachedSignature – включать ли данные в подпись PKCS#7 (true - включать).
  • hardwareHash – использовать ли аппаратный расчёт хеш значения для подписи (true - использовать).
  • timeout – тайм-аут подтверждения текста на экране Антифрод-терминала в 5-секундных долях (одна единица - пять секунд) 0 - ожидать бесконечно.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - результат выполнения метода.
Результат:

array – массив со следующей структурой:

  • первый элемент – подпись (в виде массива байт) для переданных данных (параметр data) в формате PKCS#7, вычисленная на смарт-карте.
  • второй – журнал операций Антифрод-терминала в формате XML вместе с подписью этого журнала на ключе самого терминала (подпись занимает последние 64 байта второго элемента).

Примечание

Результат будет передан в параметр callback в качестве входного аргумента.

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции подписи или ввода PIN-кода.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена при подтверждении подписи или при вводе PIN-кода.
  • CKR_PIN_LEN_RANGE – пользователь ввел слишком короткий или слишком длинный PIN-код.
  • CKR_PIN_INCORRECT – пользователь ввел неверный PIN-код.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа.

swyxSignExAsync

Типы USB-токенов, используемых в качестве средства ЭП в бескарточном режиме
GOST
PRO
Типы смарт-карт, используемых в качестве средства ЭП при подключении к Антифрод-терминалу
GOST
swyxSignExAsync(int tokenDesc, int contID, array data, string displayedMessage, bool askPin, bool attachedSignature, bool hardwareHash, int timeout, array reference, int langId, var messageIdx, JSObjectPtr callback)

Визуализировать и подписать данные, используя Антифрод-терминал.

Метод асинхронно выполняет следующую последовательность действий:

  1. swyxStartEx(),
  2. swyxDisplayEx(),
  3. signData(),
  4. swyxStop().
Аргументы:
  • tokenDesc – идентификатор электронного ключа или смарт-карты, подключенной к Антинфрод-терминалу. Получается с помощью метода getAllTokens(). Значение идентификатора не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера с помощью методов createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • data – данные для подписи в виде массива байт.
  • displayedMessage – текст для отображения на экране Антифрод-терминала, ожидается от 7 до 1600 байт кодировке UTF8, но не более 400 символов.
  • askPin – дополнительно запросить PIN-код пользователя перед отображением текста на экране Антифрод-терминала.
  • attachedSignature – включать ли данные в подпись PKCS#7 (true - включать).
  • hardwareHash – использовать ли аппаратный расчёт хеш значения для подписи (true - использовать).
  • timeout – тайм-аут подтверждения текста на экране Антифрод-терминала в 5-секундных долях (одна единица - пять секунд). 0 - ожидать бесконечно.
  • reference – параметр для добавления в журнал операций, представляет собой массив из 8 байт. Предназначен для защиты от попыток повторного навязывания перехваченного журнала вместе с копией уже однажды одобренного сервером документа.
  • langId – идентификатор языка, используемого для вывода на экран подтверждений (напр. Подтвердить или Confirm). Возможные значения: 0x419 – русский, 0x409 – английский.
  • messageIdx – индекс сообщения, используемого для подтверждений. Возможные значения: 0 - “Подтвердить”, 1 - “Подписать”.
  • callback – сallback-функция JavaScript, которая будет выполнена после завершения работы метода. В случае ошибки или отмены операции в функцию будет передан массив вида ['Error', 'КодОшибки'], в случае успеха - результат выполнения метода.
Результат:

array – массив со следующей структурой:

  • первый элемент – подпись (в виде массива байт) для переданных данных (параметр data) в формате PKCS#7, вычисленная на смарт-карте.
  • второй – журнал операций Антифрод-терминала в формате XML вместе с подписью этого журнала на ключе самого терминала (подпись занимает последние 64 байта второго элемента).

Примечание

Результат будет передан в параметр callback в качестве входного аргумента.

Примеры ошибок:

  • CKR_FUNCTION_CANCELED – тайм-аут операции подписи или ввода PIN-кода.
  • CKR_FUNCTION_REJECTED – пользователь нажал отмена при подтверждении подписи или при вводе PIN-кода.
  • CKR_PIN_LEN_RANGE – пользователь ввёл слишком короткий или слишком длинный PIN-код.
  • CKR_PIN_INCORRECT – пользователь ввёл неверный PIN-код.
  • CKR_FUNCTION_FAILED – вероятная причина: неправильно указан идентификатор электронного ключа.

Оглавление