JC_KT2_TIMEOUT_UNLOCK_INFO

Указатель на структуру JC_KT2_TIMEOUT_UNLOCK_INFO.

typedef JC_KT2_TIMEOUT_UNLOCK_INFO CK_PTR JC_KT2_TIMEOUT_UNLOCK_INFO_PTR;

JC_KT2_TIMEOUT_UNLOCK_INFO

Информация о необходимом количестве команд для разблокировки.

typedef struct JC_KT2_TIMEOUT_UNLOCK_INFO { CK_ULONG ulUserPINCount; CK_ULONG ulSignPINCount; CK_ULONG ulMinCount; } JC_KT2_TIMEOUT_UNLOCK_INFO;

CK_ULONG ulUserPINCount

Количество команд для PIN-кода пользователя.

CK_ULONG ulSignPINCount

Количество команд для PIN-кода подписи.

CK_ULONG ulMinCount

Минимально допустимое количество команд.

Используется в:

JC_KT2_EXTENDED_INFO

Указатель на структуру JC_KT2_EXTENDED_INFO

typedef JC_KT2_EXTENDED_INFO CK_PTR JC_KT2_EXTENDED_INFO_PTR;

JC_KT2_EXTENDED_INFO

Дополнительная информацию о приложении GOST.

<pre>typedef struct JC_KT2_EXTENDED_INFO {
CK_BYTE Major;
CK_BYTE Minor;
CK_BYTE Release;
CK_ULONG UnlockCount;
CK_BYTE PersonalizationInfo[64];
CK_BYTE CheckSum[32];
JC_KT2_PIN_STATE UserPINState;
JC_KT2_PIN_STATE SignPINState;
JC_KT2_PIN_STATE PUKState;
CK_BBOOL SULoginThrowSM;
CK_BBOOL UserPUKEnabled;
JC_KT2_PIN_POLICY UserPinPolicy;
JC_KT2_PIN_POLICY UserSignPinPolicy;
JC_KT2_SECURE_MESSAGING_STATE SecureMessagingState;
} JC_KT2_EXTENDED_INFO;</pre>

CK_BYTE Major

Главная версия прошивки.

CK_BYTE Minor

Дополнительная версия прошивки.

CK_BYTE Release

Номер выпуска прошивки.

CK_ULONG UnlockCount

Количество разблокировок.

CK_BYTE PersonalizationInfo(64)

Информация о персонализации.

CK_BYTE CheckSum(32)

Контрольная сумма.

JC_KT2_PIN_STATE UserPINState

Состояние PIN-кода пользователя.

JC_KT2_PIN_STATE SignPINState

Состояние PIN-кода подписи.

JC_KT2_PIN_STATE PUKState

Состояние PUK-кода.

CK_BBOOL SULoginThrowSM

Признак необходимости ввода PIN-кода администратора в закрытом виде.

CK_BBOOL UserPUKEnabled

Признак разрешения пользователю менять PUK-код.

JC_KT2_PIN_POLICY UserPinPolicy

Политика PIN-кода пользователя.

JC_KT2_PIN_POLICY UserSignPinPolicy

Политика PIN-кода подписи.

JC_KT2_SECURE_MESSAGING_STATE SecureMessagingState

Состояние защищенного канала. Может принимать значения:

  • JC_KT2_SECURE_MESSAGING_STATE_NONE (0) – Защищенный канал выключен;
  • JC_KT2_SECURE_MESSAGING_STATE_NOT_FINISHED (1) – Защищенный канал в процессе установки;
  • JC_KT2_SECURE_MESSAGING_STATE_SIMPLE (2) – Защищенный канал включен;
  • JC_KT2_SECURE_MESSAGING_STATE_EXCLUSIVE (3) – Защищенный канал включен в эксклюзивном режиме.

Используется в:

 

JC_KT2_PIN_STATE

Применяется как поля PUKState, SignPINState, UserPINState структуры JC_KT2_EXTENDED_INFO

typedef struct JC_KT2_PIN_STATE {
CK_BBOOL Exists;
CK_ULONG ulMaxErrorCount;
CK_ULONG ulErrorCount;
} JC_KT2_PIN_STATE;

CK_BBOOL Exists

Признак установки PIN-кода.

CK_ULONG ulMaxErrorCount

Максимальное количество попыток ввода кода до блокирования.

CK_ULONG ulErrorCount

Текущее количество ошибочно введённых кодов.

JC_KT2_PIN_POLICY

typedef struct JC_KT2_PIN_POLICY {
CK_BBOOL UseUpperCaseLetters;
CK_BBOOL UseLowerCaseLetters;
CK_BBOOL UseDigits;
CK_BBOOL UseSpecial;
CK_BBOOL PinMustBeChanged;
CK_ULONG MinPinLengthAddition;
} JC_KT2_PIN_POLICY;

CK_BBOOL UseUpperCaseLetters

Обязательное наличие в PIN-коде прописных символов A-Z А-Я. Если установлено значение CK_TRUE, наличие обязательно, если CK_FALSE – необязательно.

CK_BBOOL UseLowerCaseLetters

Обязательное наличие в PIN-коде строчных символов a-z а-я. Если установлено значение CK_TRUE, наличие обязательно, если CK_FALSE – необязательно.

CK_BBOOL UseDigits

Обязательное наличие в PIN-коде цифр. Если установлено значение CK_TRUE, наличие обязательно, если CK_FALSE – необязательно.

CK_BBOOL UseSpecial

Обязательное наличие в PIN-коде специальных символов (находятся в диапазонах 20h–2Fh, 3Ah–40h, 5Bh–60h и 7Bh–7Eh). Если установлено значение CK_TRUE, наличие обязательно, если CK_FALSE – необязательно.

CK_BBOOL PinMustBeChanged

Признак необходимости смены PIN-кода. Если установлено значение CK_TRUE, смена PIN-кода обязательна, если CK_FALSE – необязательна.

CK_ULONG MinPinLengthAddition

Приращение длины PIN-кода относительно минимально возможной (6 символов), т.е. минимальная длина PIN-кода равна 6 + значение приращения. Такое значение может быть установлено равным от 0 до 7.

Используется в:

JC_KT2_GOSTR3410_DERIVE_PARAMS

typedef struct JC_KT2_GOSTR3410_DERIVE_PARAMS {
CK_EC_KDF_TYPE kdf;
CK_OBJECT_HANDLE hPublicKey;
CK_BYTE_PTR pUKM;
CK_ULONG ulUKMLen;
} JC_KT2_GOSTR3410_DERIVE_PARAMS;

CK_EC_KDF_TYPE kdf

Идентификатор используемой диверсификации ключа. Может принимать следующие значения:

  • CKD_NULL – общий ключ выводится по алгоритму, описанному в подразделе 5.2 RFC 4357.
  • CKD_CPDIVERSIFY_KDF – при выводе общего ключа сначала применяется алгоритм, описанный в подразделе 5.2 RFC 4357, а затем результат выполнения этого алгоритма подвергается диверсификации по алгоритму, описанному в подразделе 6.5 того же документа.

CK_OBJECT_HANDLE hPublicKey

Дескриптор открытого ключа.

CK_BYTE_PTR pUKM

Указатель на буфер, содержащий параметр UKM (RFC 4357) в представлении от младшего к старшему (little-endian).

CK_ULONG ulUKMLen

Длина буфера, содержащего UKM. Указывается в байтах, должна равняться 8.

 

JC_GOST_PUBLICKEY_DESCRIPTOR

typedef struct JC_GOST_PUBLICKEY_DESCRIPTOR
{
CK_BYTE_PTR publicKey;
CK_UTF8CHAR_PTR keyDescription;
CK_ULONG keyDescriptionLength;
} JC_GOST_PUBLICKEY_DESCRIPTOR;

CK_BYTE_PTR publicKey

Значение публичного ключа

CK_UTF8CHAR_PTR keyDescription

Описание публичного ключа в UTF8

CK_ULONG keyDescriptionLength

Размер описания публичного ключа в байтах

Bспользуется в JC_KT2_CreatePublicKeyPkcsDescriptors()

JC_KT2_PIN_POLICY_EX

typedef struct JC_KT2_PIN_POLICY_EX
{
JC_KT2_PIN_POLICY kt2StandartPinPolicy;
CK_BBOOL DisableDefaultPin;
CK_BBOOL DisableRepeatCharsPin;
CK_ULONG ulPinHistoryLen;
} JC_KT2_PIN_POLICY_EX;

JC_KT2_PIN_POLICY kt2StandartPinPolicy

Стандартная политика PIN-кода
CK_BBOOL DisableDefaultPin

Ограничение использования PIN-кода по умолчанию
CK_BBOOL DisableRepeatCharsPin

Запрет PIN-кода, состоящего из одного повторяющегося символа
CK_ULONG ulPinHistoryLen

Размер истории PIN-кодов

Используется в: