2.2.1 Что такое приложение
Приложение – микропрограмма, загружаемая в устройство JaCarta на производстве.
Исторически также существует понятие апплет. Понятия приложение и апплета, в контексте работы с библиотекой PKCS#11, примем тождественно равными.
Загружаемые в JaCarta приложения/апплеты имеют уникальные имена, которые не совпадают с названиями моделей семейства JaCarta.
Для того, чтобы избежать путаницы между оригинальными именами приложений/апплетов и названиями моделей семейства JaCarta, примем следующее сопоставление, которое будет использоваться повсеместно в документации.
Приложение/апплет, загружаемая в устройство JaCarta на производстве. | Имя приложения, принятое в документации |
|---|---|
JaCarta-3 (Приложение, реализующее Российские криптографические алгоритмы ГОСТ Р 34.12-2015, ГОСТ Р 34.13-2015) | GOST версии 2.5.13 |
Криптотокен 2 ЭП (Приложение, реализующее Российские криптографические алгоритмы ГОСТ 28147-89) | GOST версии 2.5.5 |
Laser (Приложение, реализующее зарубежные криптографические алгоритмы | PKI |
Datastore (Приложение, реализующее хранение информации, а также управление | LT |
Biomanager (Приложение для администрирования биометрической подсистемы) | Biomanager |
Устройства JaCarta могут содержать одно или несколько приложений. Устройства, содержащие несколько приложений, называются комбинированными.
Примеры устройств с одним приложением, согласно принятым выше именам:
- JaCarta-3 ГОСТ – содержит приложение GOST версии 2.5.13.
- JaCarta-2 ГОСТ – содержит приложение GOST версии 2.5.5 или 2.5.13 (подробнее в разделе Особенности выбора приложения GOST)
- JaCarta PKI – содержит приложение PKI.
- JaCarta LT – содержит приложение LT.
Примеры комбинированных устройств:
- 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.
Библиотека взаимодействует с приложениями через слоты (см. Приложения и слоты).
2.2.2 Поддерживаемые приложения
Приложение | В состав каких устройств входит |
|---|---|
Biomanager | |
GOST версии 2.5.13 |
|
GOST версии 2.5.5 |
|
PKI |
|
LT |
2.2.3 Приложения и слоты
Взаимодействие каждого приложения на устройстве устанавливается через слоты.
Слот – это логическое цифровое представлением разъёма, к которому может быть подключено приложение. Каждому приложению соответствует один слот. Схема ниже иллюстрирует общий случай связи слотов с приложениями и устройствами:
Из схемы видно, что при подключении нескольких устройств (USB-токен, смарт-карта в смарт-карт ридере) каждое приложение устройства будет закреплено за отдельным слотом, которые используются в API.
Чтобы узнать какому приложению соответствует выбранный слот, необходимо:
- вызвать функцию C_GetTokenInfo();
- в полученной информации об приложении посмотреть название модели – аргумент CK_TOKEN_INFO.model.
Для удобства идентификации приложения рекомендуется использовать следующие макросы:
- JC_MODEL_CRYPTOTOKEN_2 – для приложения GOST;
- JC_MODEL_LASER – для приложения PKI;
- JC_MODEL_DATASTORE – для приложения LT;
- JC_MODEL_BIOMANAGER – для приложения Biomanager;
Библиотека jcPKCS11-2 резервирует 20 слотов. При подключении нового устройства для каждого его приложения выделяется по одному из зарезервированных слотов. Библиотека самостоятельно отслеживает подключенные устройства и асинхронно обновляет служебную информацию о соответствующих им слотах.
