Криптотокен 2 ЭП

JC_KT2_TIMEOUT_UNLOCK_INFO

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

Указатель на структуру 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_PTR

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

typedef JC_KT2_EXTENDED_INFO CK_PTR JC_KT2_EXTENDED_INFO_PTR;
JC_KT2_EXTENDED_INFO

Дополнительная информацию о Криптотокен 2 ЭП.

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;
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

JC_KT2_PIN_STATE
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

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

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.