Перейти к содержимому

Работа с приложениями

USB-токены и смарт-карты JaCartaAPI и SDKUSB-токены и смарт-карты JaCarta

Приложение – микропрограмма, загружаемая в устройство JaCarta® на производстве.

Исторически также существует понятие апплет. Понятия приложение и апплета, в контексте работы с библиотекой PKCS#11, примем тождественно равными.

Загружаемые в JaCarta приложения/апплеты имеют уникальные имена, которые не совпадают с названиями моделей семейства JaCarta.

Для того, чтобы избежать путаницы между оригинальными именами приложений/апплетов и названиями моделей семейства JaCarta, примем следующее сопоставление, которое будет использоваться повсеместно в документации.

Приложение/апплет, загружаемая в устройство JaCarta на производстве.Имя приложения,<br
принятое в документации
JaCarta-3

(Приложение, реализующее Российские криптографические алгоритмы
ГОСТ Р 34.10-2012/ГОСТ 34.10-2018, ГОСТ Р 34.11-2012/ГОСТ 34.11-2018,

ГОСТ Р 34.12-2015, ГОСТ Р 34.13-2015)
GOST версии 2.5.13
Криптотокен® 2 ЭП

(Приложение, реализующее Российские криптографические алгоритмы
ГОСТ Р 34.10-2012/ГОСТ 34.10-2018, ГОСТ Р 34.11-2012/ГОСТ 34.11-2018,

ГОСТ 28147-89)
GOST версии 2.5.5
Laser

(Приложение, реализующее зарубежные криптографические алгоритмы
AES, DES, 3DES, RSA, SHA и др.)
PKI
Datastore

(Приложение, реализующее хранение информации, а также управление
доступом к ней).
LT
Biomanager

(Приложение для администрирования биометрической подсистемы)
Biomanager

Устройства JaCarta могут содержать одно или несколько приложений. Устройства, содержащие несколько приложений, называются комбинированными.

Примеры устройств с одним приложением, согласно принятым выше именам:

Примеры комбинированных устройств:

  • JaCarta-3 PKI/ГОСТ – содержит приложения GOST версии 2.5.13 и PKI.

  • JaCarta-2 PKI/ГОСТ – содержит приложения GOST версии 2.5.5 или 2.5.13 и PKI.

  • JaCarta SecurBIO® – содержит приложения Biomanager, GOST версии 2.5.13 и PKI.

Библиотека взаимодействует с приложениями через слоты (см. Приложения и слоты).

МодельФорм-факторПриложения (апплеты)Функциональность
JaCarta PKIUSB-токен, смарт-картаPKIЗарубежная криптография
JaCarta-3 PKIUSB-токенPKIЗарубежная криптография
JaCarta-2 ГОСТUSB-токенGOST версии 2.5.13Российская криптография.
JaCarta-2 ГОСТсмарт-картаGOST версии 2.5.5Российская криптография.
JaCarta-3 ГОСТUSB-токенGOST версии 2.5.13Российская криптография.
JaCarta-2 PKI/ГОСТUSB-токенPKI, GOST версии 2.5.13Зарубежная криптография, Российская криптография.
JaCarta-2 PKI/ГОСТсмарт-картаPKI, GOST версии 2.5.5Зарубежная криптография, Российская криптография.
JaCarta-3 PKI/ГОСТUSB-токенPKI, GOST версии 2.5.13Зарубежная криптография, Российская криптография.
JaCarta PKI/BIOсмарт-картаPKIЗарубежная криптография. Поддержка биометрии при использовании с биометрическим смарт-карт ридером.
JaCarta-2 PKI/BIO/ГОСТсмарт-картаPKI, GOST версии 2.5.5Зарубежная криптография, Российская криптография. Поддержка биометрии при использовании с биометрическим смарт-карт ридером.
JaCarta-2 SEUSB-токенGOST версии 2.5.5Зарубежная криптография, Российская криптография. Основная модель для ЕГАИС.
JaCarta LTUSB-токенLTЗащищённое хранение ключевых контейнеров СКЗИ (КриптоПро CSP, ViPNet CSP), ключей, паролей; без криптографии.
JaCarta SecurBIOUSB-токен со сканером отпечатка пальцаBiomanager, PKI, GOST версии 2.5.13Зарубежная криптография, Российская криптография. Встроенный сканер отпечатков пальцев.

Взаимодействие каждого приложения на устройстве устанавливается через слоты.

Слот – это логическое цифровое представлением разъёма, к которому может быть подключено приложение. Каждому приложению соответствует один слот. Схема ниже иллюстрирует общий случай связи слотов с приложениями и устройствами:

Связь слотов с приложениями и устройствами

Из схемы видно, что при подключении нескольких устройств (USB-токен, смарт-карта в смарт-карт ридере) каждое приложение устройства будет закреплено за отдельным слотом, которые используются в API.

Чтобы узнать какому приложению соответствует выбранный слот, необходимо:

  • вызвать функцию C_GetTokenInfo();
  • в полученной информации об приложении посмотреть название модели – аргумент CK_TOKEN_INFO.model.

Для удобства идентификации приложения рекомендуется использовать следующие макросы:

Библиотека jcPKCS11-2 резервирует 20 слотов. При подключении нового устройства для каждого его приложения выделяется по одному из зарезервированных слотов. Библиотека самостоятельно отслеживает подключенные устройства и асинхронно обновляет служебную информацию о соответствующих им слотах.