C

public class C

Поля

EXTENSIONS

public static Extensions EXTENSIONS

INVALID_HANDLE

public static final long INVALID_HANDLE

Методы

CloseAllSessions

public static long CloseAllSessions(long slotID)

Закрывает все сеансы на данном слоте.

Параметры:
  • slotID – идентификатор слота
Результат:

CKR код завершения

CloseSession

public static long CloseSession(long session)

Закрывает сеанс между приложением и токеном.

Параметры:
  • session – дескриптор сеанса
Результат:

CKR код завершения

CreateObject

public static long CreateObject(long session, CKA[] templ, LongRef object)

Создает объект с заданными атрибутами. Объекты создаются на токене, либо в памяти Единой библиотеки (например, временные объекты).

Запускается в режимах

Для Криптотокен и Laser:

Для Криптотокен 2 ЭП:

Параметры:
  • session – дескриптор сеанса
  • templ – шаблон объекта
  • object – возвращаемые дескриптор нового объекта
Результат:

CKR код завершения

Decrypt

public static long Decrypt(long session, byte[] encryptedData, byte[] data, LongRef dataLen)

Осуществляет единоразовое расшифрование, т.е расшифровывает только один блок данных.

Предупреждение

При шифровании с использованием механизма CKM.GOST28147_ECB длина данных должна быть кратной 8 байт.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • encryptedData – зашифрованные данные
  • data – исходные данные
  • dataLen – размер исходных данных
Результат:

CKR код завершения

DecryptFinal

public static long DecryptFinal(long session, byte[] lastPart, LongRef lastPartLen)

Завершает составную операцию расшифрования.

Запускается в режимах

См.также

C.DecryptInit, C.Decrypt и C.DecryptUpdate.

Параметры:
  • session – дескриптор сеанса
  • lastPart – последний зашифрованный блок
  • lastPartLen – размер последнего зашифрованного блока
Результат:

CKR код завершения

DecryptInit

public static long DecryptInit(long session, CKM mechanism, long key)

Инициализирует и задает параметры для операции расшифрования. Поддерживается как аппаратное, так и программное расшифрование.

Особенности апплетов:

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

    Аппаратное шифрование

    Для аппаратного шифрования используется виртуальный секретный ключ. Данный ключ должен быть предварительно импортирован с помощью функции C.UnwrapKey или сгенерирован и экспортирован с помощью функции C.WrapKey.

    При использовании виртуального секретного ключа функция инициализирует операцию зашифрования по ГОСТ 28147–89 с параметрами id-tc26-gost-28147-param-Z.

    После импорта ключа атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение true, ключ готов к криптографическому преобразованию.
    После завершения операции преобразования ключ удаляется из памяти изделия, а атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение false.

    Программное шифрование

    Программное шифрование применяется стандартным способом.

    Для программного шифрования доступен атрибут CKA.VENDOR_KT2_KEY_MESHING. Если атрибут имеет значение true, применяется алгоритм усложнения ключей для ГОСТ 28147–89 RFC 4357 п.2.3.2.

Поддерживаются следующие механизмы:

  • Криптотокен
    • CKM.GOST28147_ECB (0x00001221) – механизм для симметричного шифра в режиме ECB по стандарту ГОСТ 28147–89.
    • CKM.GOST28147 (0x00001222) – механизм для симметричного шифра в режиме CFB по стандарту ГОСТ 28147–89.
  • Криптотокен 2 ЭП
    • CKM.GOST28147_ECB (0x00001221) – механизм для симметричного шифра в режиме ECB по стандарту ГОСТ 28147–89.
    • CKM.GOST28147 (0x00001222) – механизм для симметричного шифра в режиме CFB по стандарту ГОСТ 28147–89.
  • Laser
    • CKM.RSA_PKCS (0x00000001) – механизм для асимметричного шифра RSA. Также используется для ЭП.
    • CKM.RSA_PKCS_OAEP (0x00000009) – механизм для асимметричного шифра RSA с использованием OAEP.
    • CKM.DES3_ECB (0x00000132) – механизм для симметричного шифра triple-DES в режиме ECB.
    • CKM.DES3_CBC (0x00000133) – механизм для симметричного шифра triple-DES в режиме CBC.
    • CKM.AES_ECB (0x00001081) – механизм для симметричного шифра AES в режиме ECB.
    • CKM.AES_CBC (0x00001082) – механизм для симметричного шифра AES в режиме CBC.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм расшифрования
  • key – дескриптор ключа расшифрования
Результат:

CKR код завершения

DecryptUpdate

public static long DecryptUpdate(long session, byte[] encryptedPart, byte[] data, LongRef dataLen)

Продолжает составную операцию расшифрования – расшифровывает очередной блок данных.

Предупреждение

При шифровании с использованием механизма CKM.GOST28147_ECB длина данных должна быть кратной 8 байт.

Запускается в режимах

См.также

C.DecryptInit, C.Decrypt и C.DecryptFinal.

Параметры:
  • session – дескриптор сеанса
  • encryptedPart – зашифрованный блок данных
  • data – блок исходных данных
  • dataLen – размер блока исходных данных
Результат:

CKR код завершения

DeriveKey

public static long DeriveKey(long session, CKM mechanism, long baseKey, CKA[] templ, LongRef key)

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

Особенности апплетов:

  • Криптотокен

    Поддерживаемые механизмы:

    • CKM.GOSTR3410_DERIVE (0x00001204) – механизм для выработки ключа согласования, соответствующий стандарту ГОСТ Р 34.10–2001.
    • CKM.TLS_GOST_MASTER_KEY_DERIVE (CKM.NSSCK_VENDOR_PKSC11_RU_TEAM | 0x101) – механизм для выработки 48-байтного ключа из 32-байтного ключа, используемый при создании master_secret ключей для протокола TLS 1.0.
    • CKM.TLS_GOST_KEY_AND_MAC_DERIVE (CKM.NSSCK_VENDOR_PKSC11_RU_TEAM | 0x102) – механизм для выработки ключа согласования из master_secret и случайных данных.
    • CKM.TLS_GOST_PRF (CKM.NSSCK_VENDOR_PKSC11_RU_TEAM | 0x103) – механизм для генерации псевдослучайных данных произвольной длины защищенным образом, соответствующий стандарту ГОСТ.
  • Криптотокен 2 ЭП

    Для Криптотокен 2 ЭП версии 2.5.3 поддерживается выработка ключа согласования только с использованием дескриптора открытого ключа Отправителя.
    Для Криптотокен 2 ЭП версии 2.5.5 поддерживается выработка ключа согласования с использованием дескриптора и значения открытого ключа Отправителя.

    Для выработки ключа с использованием дескриптора может использоваться структура JC_KT2_GOSTR3410_DERIVE_PARAMS.

    Поддерживаемые механизмы:

    • CKM.GOSTR3410_DERIVE (0x00001204) – механизм для выработки ключа согласования, соответствующий стандарту ГОСТ Р 34.10–2001.
    • CKM.GOSTR3410_2012_DERIVE (CKM.CK_VENDOR_PKCS11_RU_TEAM_TC26 | 0x007) – механизм для выработки ключа согласования, соответствующий стандарту ГОСТ Р 34.10–2012.
    • CKM.GOSTR3410_12_DERIVE – псевдоним для CKM.GOSTR3410_2012_DERIVE.
  • Laser

    Поддерживаемые механизмы:

    • CKM.TLS_MASTER_KEY_DERIVE (0x00000375) – механизм для выработки 48-байтного ключа из другого 48-байтного ключа, используемый при создании master_secret ключей для протокола TLS 1.0.
    • CKM.TLS_KEY_AND_MAC_DERIVE (0x00000376) – механизм для выработки ключа согласования из master_secret и случайных данных.
    • CKM.TLS_MASTER_KEY_DERIVE_DH (0x00000377) – механизм для выработки 48-байтного ключа из другого ключа произвольного размера, используемый при создании master_secret ключей для протокола TLS 1.0.
    • CKM.ECDH1_DERIVE (0x00001050) – механизм для генерации ключа согласования, основывающийся на эллиптических кривых и алгоритме Диффи-Хеллмана.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм выработки ключа
  • baseKey – дескриптор закрытого ключа отправителя или получателя
  • templ – шаблон объекта ключа согласования
  • key – возвращаемый ключ согласования/экспортированный сессионный ключ
Результат:

CKR код завершения

DestroyObject

public static long DestroyObject(long session, long object)

Удаляет объект с токена или из памяти Единой библиотеки.

Параметры:
  • session – дескриптор сеанса
  • object – дескриптор объекта
Результат:

CKR код завершения

Digest

public static long Digest(long session, byte[] data, byte[] digest, LongRef digestLen)

Осуществляет единоразовое хэширование, т.е хэширует только один блок данных.

Запускается в режимах

Для Криптотокен и Laser:

Для Криптотокен 2 ЭП:

Параметры:
  • session – дескриптор сеанса
  • data – данные для хэширования
  • digest – возвращаемый хэш
  • digestLen – возвращаемый размер хэша
Результат:

CKR код завершения

DigestFinal

public static long DigestFinal(long session, byte[] digest, LongRef digestLen)

Завершает составную операцию хеширования.

Запускается в режимах

Для Криптотокен и Laser:

Для Криптотокен 2 ЭП:

См.также

C.DigestInit, C.Digest и C.DigestUpdate.

Параметры:
  • session – дескриптор сеанса
  • digest – возвращаемый хэш
  • digestLen – возвращаемый размер хэша
Результат:

CKR код завершения

DigestInit

public static long DigestInit(long session, CKM mechanism)

Инициализирует операцию хэширования.

Поддерживаемые механизмы хэширования:

  • Криптотокен

    • CKM.GOSTR3411 (0x00001210) – механизм хеширования, соответствующий стандарту ГОСТ Р 34.11–94.

      В зависимости от значений второго и третьего полей структуры CKM (см. таблицу ниже), вычисление хэш-последовательности выполняется аппаратно, т. е. с использованием криптографических возможностей устройства eToken ГОСТ или JaCarta ГОСТ, либо программно.

      pParameter Способ вычисления хэш-последовательности
      null Аппаратный (средствами JaCarta ГОСТ)
      0x06 0x07 0x2A 0x85 0x03 0x02 0x02 0x1E 0x01 Программный (используется набор эталонных параметров id-GostR3411-94-CryptoProParamSet, определённый в RFC 4357.
  • Криптотокен 2 ЭП

  • Laser

    • CKM.MD5 (0x00000210) – механизм хеширования данных по алгоритму MD5;
    • CKM.SHA_1 (0x00000220) – механизм хеширования данных по алгоритму SHA-1;
    • CKM.SHA256 (0x00000250) – механизм хеширования данных по алгоритму SHA-256;
    • CKM.SHA384 (0x00000260) – механизм хеширования данных по алгоритму SHA-384;
    • CKM.SHA512 (0x00000270) – механизм хеширования данных по алгоритму SHA-512.

Запускается в режимах

Для Криптотокен и Laser:

Для Криптотокен 2 ЭП:

См.также

C.Digest, C.DigestUpdate и C.DigestFinal.

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм хэширования
Результат:

CKR код завершения

DigestUpdate

public static long DigestUpdate(long session, byte[] part)

Продолжает составную операцию хэширования – хэширует очередной блок данных.

Запускается в режимах

Для Криптотокен и Laser:

Для Криптотокен 2 ЭП:

См.также

C.DigestInit, C.Digest и C.DigestFinal.

Параметры:
  • session – дескриптор сеанса
  • part – блок данных для хэширования
Результат:

CKR код завершения

Encrypt

public static long Encrypt(long session, byte[] data, byte[] encryptedData, LongRef encryptedDataLen)

Осуществляет единоразовое зашифрование, т.е зашифровывает только один блок данных.

Предупреждение

При шифровании с использованием механизма CKM.GOST28147 длина данных должна быть кратной 8 байт.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • data – сходные данные
  • encryptedData – возвращаемые зашифрованные данные
  • encryptedDataLen – возвращаемый размер зашифрованных данных
Результат:

CKR код завершения

EncryptFinal

public static long EncryptFinal(long session, byte[] lastEncryptedPart, LongRef lastEncryptedPartLen)

Завершает составную операцию зашифрования.

Запускается в режимах

См.также

C.EncryptInit, C.Encrypt и C.EncryptUpdate.

Параметры:
  • session – дескриптор сеанса
  • lastEncryptedPart – последний зашифрованный блок
  • lastEncryptedPartLen – размер последнего зашифрованного блока
Результат:

CKR код завершения

EncryptInit

public static long EncryptInit(long session, CKM mechanism, long key)

Инициализирует операцию зашифрования. Поддерживается аппаратное и программное шифрование.

Особенности апплетов:

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

    Аппаратное шифрование

    Для аппаратного шифрования используется виртуальный секретный ключ. Данный ключ должен быть предварительно импортирован с помощью функции C.UnwrapKey или сгенерирован и экспортирован с помощью функции C.WrapKey.

    При использовании виртуального секретного ключа функция инициализирует операцию зашифрования по ГОСТ 28147–89 с параметрами id-tc26-gost-28147-param-Z.

    После импорта ключа атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение true, ключ готов к криптографическому преобразованию.
    После завершения операции преобразования ключ удаляется из памяти изделия, а атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение false.

    Программное шифрование

    Программное шифрование применяется стандартным способом.

    Для программного шифрования доступен атрибут CKA.VENDOR_KT2_KEY_MESHING. Если атрибут имеет значение true, применяется алгоритм усложнения ключей для ГОСТ 28147–89 RFC 4357 п.2.3.2.

Поддерживаются следующие механизмы:

  • Криптотокен
    • CKM.GOST28147_ECB (0x00001221) – механизм для симметричного шифра в режиме ECB по стандарту ГОСТ 28147–89.
    • CKM.GOST28147 (0x00001222) – механизм для симметричного шифра в режиме CFB по стандарту ГОСТ 28147–89.
  • Криптотокен 2 ЭП
    • CKM.GOST28147_ECB (0x00001221) – механизм для симметричного шифра в режиме ECB по стандарту ГОСТ 28147–89.
    • CKM.GOST28147 (0x00001222) – механизм для симметричного шифра в режиме CFB по стандарту ГОСТ 28147–89.
  • Laser
    • CKM.RSA_PKCS (0x00000001) – механизм для асимметричного шифра RSA. Также используется для ЭП.
    • CKM.RSA_PKCS_OAEP (0x00000009) – механизм для асимметричного шифра RSA с использованием OAEP.
    • CKM.DES3_ECB (0x00000132) – механизм для симметричного шифра triple-DES в режиме ECB.
    • CKM.DES3_CBC (0x00000133) – механизм для симметричного шифра triple-DES в режиме CBC.
    • CKM.AES_ECB (0x00001081) – механизм для симметричного шифра AES в режиме ECB.
    • CKM.AES_CBC (0x00001082) – механизм для симметричного шифра AES в режиме CBC.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм шифрования
  • key – дескриптор ключа шифрования
Результат:

CKR код завершения

EncryptUpdate

public static long EncryptUpdate(long session, byte[] part, byte[] encryptedPart, LongRef encryptedPartLen)

Продолжает составную операцию зашифрования – зашифровывает очередной блок данных.

Запускается в режимах

См.также

C.EncryptInit, C.Encrypt и C.EncryptFinal.

Параметры:
  • session – дескриптор сеанса
  • part – блок исходных данных
  • encryptedPart – возвращаемый зашифрованный блок данных
  • encryptedPartLen – возвращаемый размер зашифрованного блока данных
Результат:

CKR код завершения

Finalize

public static long Finalize()

Вызывается для окончания сеанса использования приложением библиотеки. Эта функция должна быть последним вызовом в сеансе.

Запускается в режимах

Результат:CKR код завершения

FindObjects

public static long FindObjects(long session, long[] found, LongRef objectCount)

Ищет объекты, которые совпадают с заданным шаблоном.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • found – возвращаемые дескрипторы найденных объектов
  • objectCount – возвращаемое количество найденных дескрипторов объектов
Результат:

CKR код завершения

FindObjectsFinal

public static long FindObjectsFinal(long session)

Завершает поиск объектов.

Запускается в режимах

См.также

C.FindObjectsInit и C.FindObjects.

Параметры:
  • session – дескриптор сеанса
Результат:

CKR код завершения

FindObjectsInit

public static long FindObjectsInit(long session, CKA[] templ)

Инициализирует поиск объектов, которые совпадают с заданным шаблоном.

Запускается в режимах

См.также

C.FindObjects и C.FindObjectsFinal.

Параметры:
  • session – дескриптор сеанса
  • templ – шаблон искомых объектов
Результат:

CKR код завершения

GenerateKey

public static long GenerateKey(long session, CKM mechanism, CKA[] templ, LongRef key)

Генерирует секретный ключ.

Особенности апплетов:

  • Криптотокен

    Поддерживаемые механизмы:

    • CKM.GOST28147_KEY_GEN (0x00001220) – механизм генерации ключей, соответствующий стандарту ГОСТ 28147–89.
  • Криптотокен 2 ЭП

    Предупреждение

    Согласно правилам пользования сертифицированного устройства JaCarta-2 ГОСТ данная операция должна выполняться с использованием ПО «АРМ администратора безопасности JaCarta-2 ГОСТ».
    Для облегчения процесса интеграции JaCarta-2 ГОСТ в прикладное ПО в ходе работ по разработке и тестированию допускается использовать облегчённую версию этого АРМа – «АРМ разработчика JaCarta-2 ГОСТ», входящего в состав комплекта разработчика JaCarta-2 SDK.
  • Laser

    Поддерживаемые механизмы:

    • CKM.DES2_KEY_GEN (0x00000130) – механизм генерации ключей DES двойной длины.
    • CKM.DES3_KEY_GEN (0x00000131) – механизм генерации ключей для алгоритма triple-DES.
    • CKM.TLS_PRE_MASTER_KEY_GEN (0x00000374) – механизм генерации 48-байтных секретных ключей, используемых при создании pre_master ключей для протокола TLS 1.0.
    • CKM.AES_KEY_GEN (0x00001080) – механизм генерации ключей для алгоритма AES.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм генерации ключа
  • templ – шаблон нового ключа
  • key – возвращаемый дескриптор созданного ключа
Результат:

CKR код завершения

GenerateKeyPair

public static long GenerateKeyPair(long session, CKM mechanism, CKA[] publicKeyTemplate, CKA[] privateKeyTemplate, LongRef publicKey, LongRef privateKey)

Генерирует ключевую пару и возвращает идентификаторы закрытого и открытого ключей.

Поддерживаются следующие механизмы:

  • Криптотокен

    • CKM.GOSTR3410_KEY_PAIR_GEN (0x00001200) – механизм генерации ключевой пары в соответствии со стандартом ГОСТ Р 34.10–2001.
  • Криптотокен 2 ЭП

    • CKM.GOSTR3410_KEY_PAIR_GEN (0x00001200) – механизм генерации ключевой пары в соответствии со стандартом ГОСТ Р 34.10–2001.
    • CKM.GOSTR3410_256_KEY_PAIR_GEN (0x00001200 идентичен CKM.GOSTR3410_KEY_PAIR_GEN) – механизм генерации ключевой пары в соответствии со стандартом ГОСТ Р 34.10–2012 (длина ключа 256 бит).

    Для генерации ключевых пар конкретного стандарта, помимо указания механизма, необходимо передавать соответствующее значение в атрибут CKA.GOSTR3411_PARAMS шаблона открытого ключа.

    Стандарт ключевой пары Механизм Значение CKA.GOSTR3411_PARAMS
    ГОСТ Р 34.10–2001 CKM.GOSTR3410_KEY_PAIR_GEN id-GostR3411-94-CryptoProParamSet
    ГОСТ Р 34.10–2012 (длина ключа 256 бит) CKM.GOSTR3410_256_KEY_PAIR_GEN id-tc26-gost3411-12-256
  • Laser

    • CKM.RSA_PKCS_KEY_PAIR_GEN (0x00000000) – механизм генерации ключевой пары для алгоритма RSA.
    • CKM.ECDSA_KEY_PAIR_GEN (0x00001040) – механизм генерации ключевой пары для алгоритма ECDSA.
    • CKM.EC_KEY_PAIR_GEN (0x00001040) – механизм генерации ключевой пары для алгоритма EC.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм генерации ключевой пары
  • publicKeyTemplate – шаблон нового открытого ключа
  • privateKeyTemplate – шаблон нового закрытого ключа
  • publicKey – возвращаемый дескриптор нового открытого ключа
  • privateKey – возвращаемый дескриптор нового закрытого ключа
Результат:

CKR код завершения

GenerateRandom

public static long GenerateRandom(long session, byte[] randomData)

Генерирует псевдослучайные данные.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • randomData – возвращаемые псевдослучайные данные
Результат:

CKR код завершения

GetAttributeValue

public static long GetAttributeValue(long session, long object, CKA[] templ)

Получает значение одного или нескольких атрибутов для указанного объекта.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • object – дескриптор объекта
  • templ – шаблон объекта
Результат:

CKR код завершения

GetInfo

public static long GetInfo(CK_INFO info)

Возвращает общую информацию о библиотеке.

Запускается в режимах

Параметры:
  • info – возвращаемая информация о библиотеке
Результат:

CKR код завершения

GetMechanismInfo

public static long GetMechanismInfo(long slotID, long type, CK_MECHANISM_INFO info)

Получает информацию о заданном механизме.

Запускается в режимах

Параметры:
  • slotID – идентификатор слота
  • typeCKM тип механизма
  • info – возвращаемая информация о механизме
Результат:

CKR код завершения

GetMechanismList

public static long GetMechanismList(long slotID, long[] mechanismList, LongRef count)

Получает список механизмов, поддерживаемых токеном.

Запускается в режимах

Параметры:
  • slotID – идентификатор слота
  • mechanismList – возвращаемые механизмы
  • count – возвращаемое количество механизмов
Результат:

CKR код завершения

GetSessionInfo

public static long GetSessionInfo(long session, CK_SESSION_INFO info)

Получает информацию о сеансе.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • info – возвращаемая информация о сеансе
Результат:

CKR код завершения

GetSlotInfo

public static long GetSlotInfo(long slotID, CK_SLOT_INFO info)

Получает информацию о заданном слоте.

Запускается в режимах

Параметры:
  • slotID – идентификатор слота
  • info – возвращаемая информация о слоте
Результат:

CKR код завершения

GetSlotList

public static long GetSlotList(boolean tokenPresent, long[] slotList, LongRef count)

Получает список слотов в системе. При этом возвращает список слотов только с поддерживаемыми апплетами.

Запускается в режимах

Параметры:
  • tokenPresent – определяет, что возвращаемый список содержит только слоты с подключенными токенами/ридерами со смарт-картами (true) или все слоты, в т.ч. подключенные ридеры без смарт-карт (false)
  • slotList – возвращаемый массив слотов
  • count – возвращаемый размер массива слотов
Результат:

CKR код завершения

GetTokenInfo

public static long GetTokenInfo(long slotID, CK_TOKEN_INFO info)

Получает информацию об апплете, соответствующем заданному слоту.

Запускается в режимах

Параметры:
  • slotID – идентификатор слота
  • info – возвращаемая информация об апплете
Результат:

CKR код завершения

InitPIN

public static long InitPIN(long session, String pin)

Инициализирует значение PIN-кода пользователя.

PIN-код может содержать символы в кодировке UTF-8 из следующего набора:

  • Буквы: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
  • Цифры: 0 1 2 3 4 5 6 7 8 9
  • Спец. символы: ! “ # % & ‘ ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { | } ~

Особенности апплетов:

  • Криптотокен

    По умолчанию PIN-код пользователя не установлен. Операция доступна, если для апплета не инициализирован PIN-код пользователя. При использовании Антифрод-терминала функция запрашивает PIN-код пользователя с подтверждением на клавиатуре терминала (в этом случае функция вызывается с любым значением параметра pin).

    Длина PIN-кода – от 6 до 32 символов.

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

    Предупреждение

    Согласно правилам пользования сертифицированного устройства JaCarta-2 ГОСТ данная операция должна выполняться с использованием ПО «АРМ администратора безопасности JaCarta-2 ГОСТ».
    Для облегчения процесса интеграции JaCarta-2 ГОСТ в прикладное ПО в ходе работ по разработке и тестированию допускается использовать облегчённую версию этого АРМа – «АРМ разработчика JaCarta-2 ГОСТ», входящего в состав комплекта разработчика JaCarta-2 SDK.
  • Laser

    По умолчанию для PIN-кода пользователя установлено значение 11111111. Операция доступна всегда, при её выполнении изменяется текущий PIN-код пользователя.

    Длина PIN-кода – от 4 до 16 символов.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • pin – PIN-код пользователя
Результат:

CKR код завершения

InitToken

public static long InitToken(long slotID, String pin, String label)

Инициализирует поддерживаемые апплеты и устанавливает метки токена.

  • Криптотокен

    Процесс инициализации предполагает удаление всех объектов, за исключением информации о ДСЧ. При этом:

    • значение PIN-кода администратора остаётся прежним;
    • значение PIN-кода пользователя удаляется.
  • Криптотокен 2 ЭП

    Предупреждение

    Согласно правилам пользования сертифицированного устройства JaCarta-2 ГОСТ данная операция должна выполняться с использованием ПО «АРМ администратора безопасности JaCarta-2 ГОСТ».
    Для облегчения процесса интеграции JaCarta-2 ГОСТ в прикладное ПО в ходе работ по разработке и тестированию допускается использовать облегчённую версию этого АРМа – «АРМ разработчика JaCarta-2 ГОСТ», входящего в состав комплекта разработчика JaCarta-2 SDK.
  • Laser

    Для устройств модели JXXX v2.0 операция может выполняться в режимах администратора и гостя. Для всех остальных – только в режиме администратора. Процесс инициализации включает удаление всех объектов и последующую персонализацию апплета согласно установленным настройкам. При этом значения PIN-кодов администратора и пользователя устанавливаются на заданные. Если настройки не были установлены, то используются настройки по умолчанию:

    • PIN-код администратора – 00000000,
    • PIN-код пользователя – 11111111.

    Примечание

    Можно произвести полную очистку содержимого смарт-карты/токена, если в качестве значения PIN-кода администратора передать null.

Запускается в режимах

Параметры:
  • slotID – идентификатор слота
  • pin – PIN-код администратора
  • label – указатель на метку токена. При указании нулевой метки токена (null) текущее значение метки сохраняется.
Результат:

CKR код завершения

Initialize

public static long Initialize()

Инициализирует библиотеку.

Результат:CKR код завершения

Initialize

public static long Initialize(CK_C_INITIALIZE_ARGS pInitArgs)

Инициализирует библиотеку.

Примечание

Библиотека не поддерживает приложения, использующие многопотоковый доступ, и не реагирует на значения флагов CK_C_INITIALIZE_ARGS.CKF_OS_LOCKING_OK, CK_C_INITIALIZE_ARGS.CKF_LIBRARY_CANT_CREATE_OS_THREADS и следующих параметров:

Запускается в режимах

Результат:CKR код завершения

Login

public static long Login(long session, long userType, String pin)

Используется для ввода PIN-кода и перехода в режим пользователя или администратора.

Особенности апплетов:

  • Криптотокен

    Возможные значения параметра userType и PIN-коды по умолчанию:

    Пользователь Значение userType PIN-код по умолчанию
    Администратор CKU.SO 1234567890
    Пользователь CKU.USER Не установлен
  • Криптотокен 2 ЭП

    Возможные значения параметра userType и PIN-коды по умолчанию (устанавливаются на производстве “Аладдин Р.Д.”, если заказчик не предоставил свои):

    Пользователь Значение userType PIN-код по умолчанию
    Пользователь CKU.USER 1234567890
    Подпись CKU.SIGNATURE Задается пользователем

    Примечание

    Функция вызывается с параметром userType равным CKU.SIGNATURE только после перехода в режим Пользователя.

  • Laser

    Возможные значения параметра userType и PIN-коды по умолчанию:

    Пользователь Значение userType PIN-код по умолчанию
    Администратор CKU.SO
    00000000
    (8 нулей)
    Пользователь CKU.USER
    11111111
    (8 единиц)

Запускается в режимах

Для Криптотокен и Laser:

Для Криптотокен 2 ЭП:

Параметры:
  • session – дескриптор сеанса
  • userType – тип пользователя из CKU
  • pin – PIN-код (Ключ администратора безопасности в терминах Криптотокен 2 ЭП для Администратора)
Результат:

CKR код завершения

Logout

public static long Logout(long session)

Сброс предъявления PIN-кода.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
Результат:

CKR код завершения

OpenSession

public static long OpenSession(long slotID, long flags, NativePointer application, CK_NOTIFY notify, LongRef session)

Открывает сеанс между приложением и токеном в заданном слоте.

Примечание

Параметры application и notify – должны принимать значение null.

Параметры:
  • slotID – идентификатор слота
  • flags – флаги, определяющие тип сеанса из CK_SESSION_INFO
  • application – определяемый приложением указатель, который будет передан возвратному уведомлению (notification callback). Должен принимать значение null
  • notify – адрес функции возвратного уведомления (notification callback). Должен принимать значение null
  • session – возвращаемый дескриптор открытого сеанса
Результат:

CKR код завершения

SetAttributeValue

public static long SetAttributeValue(long session, long object, CKA[] templ)

Устанавливает значение одного или нескольких атрибутов для указанного объекта.

Примечание

Значение атрибута CKA.VALUE должно быть представлено в формате от младшего к старшему (little endian).

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • object – дескриптор объекта
  • templ – шаблон объекта
Результат:

CKR код завершения

SetPIN

public static long SetPIN(long session, String oldPin, String newPin)

Меняет PIN-код пользователя/администратора/подписи. PIN-код пользователя должен быть предварительно инициализирован (см. C.InitPIN).

PIN-код может содержать символы в кодировке UTF-8 из следующего набора:

  • Буквы: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
  • Цифры: 0 1 2 3 4 5 6 7 8 9
  • Спец. символы: ! “ # % & ‘ ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { | } ~

Особенности апплетов:

  • Криптотокен

    Функция меняет PIN-коды пользователя и администратора.

    Длина PIN-кодов пользователя/администратора – от 6 до 32 символов.

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

    Функция меняет PIN-коды пользователя и подписи.

    Длина PIN-кодов пользователя/подписи – от 6 до 32 символов.

    Смена ключа администратора безопасности возможна с помощью ПО «АРМ администратора безопасности JaCarta-2 ГОСТ» или «АРМ разработчика JaCarta-2 ГОСТ».

  • Laser

    Функция меняет PIN-коды пользователя и администратора.

    Длина PIN-кодов пользователя/администратора – от 4 до 16 символов.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • oldPin – старый PIN-код
  • newPin – новый PIN-код
Результат:

CKR код завершения

Sign

public static long Sign(long session, byte[] data, byte[] signature, LongRef signatureLen)

Осуществляет единоразовую подпись, т.е подписывает только один блок данных. Либо вычисляет HMAC от одного блока данных, вырабатывает имитовставку от одного блока данных – конкретная операция зависит от того, с каким значением параметра mechanism была инициализирована операция подписи.

Примечание

Если операция подписи инициализирована с механизмом CKM.GOSTR3410 (см. C.SignInit), то поддерживается только 32-байтовый размер данных.

Запускается в режимах

См.также

C.SignInit, C.SignUpdate и C.SignFinal.

Параметры:
  • session – дескриптор сеанса
  • data – подписываемые данные
  • signature – возвращаемая подпись
  • signatureLen – возвращаемая длина подписи
Результат:

CKR код завершения

SignFinal

public static long SignFinal(long session, byte[] signature, LongRef signatureLen)

Завершает составную операцию подписи, вычисления HMAC или выработки имитовставки.

При работе с апплетом Криптотокен функция поддерживает только механизмы CKM.GOSTR3410_WITH_GOSTR3411 и CKM.GOST28147_MAC.

Примечание

Механизмы, используемые в процессе выработки электронной подписи или имитовставки предварительно задаются функцией C.SignInit.

Запускается в режимах

См.также

C.SignInit, C.SignUpdate и C.Sign.

Параметры:
  • session – дескриптор сеанса
  • signature – возвращаемая подпись
  • signatureLen – возвращаемая длина подписи
Результат:

CKR код завершения

SignInit

public static long SignInit(long session, CKM mechanism, long key)

Инициализирует операцию подписи для указанного ключа, выработки имитовставки и вычисления HMAC.

Поддерживаемые механизмы:

  • Криптотокен
    • CKM.GOSTR3410 (0x00001201) – механизм для генерации и проверки ЭП, соответствующий стандарту ГОСТ Р 34.10–2001. Использует в качестве входного параметра ранее вычисленное 32-байтовое значение хэш-функции.
    • CKM.GOSTR3410_WITH_GOSTR3411 (0x00001202) – механизм для генерации и проверки ЭП (ГОСТ Р 34.10–2001) с хэшированием (ГОСТ Р 34.11–94) подаваемых на вход данных. Размер данных не ограничен.
    • CKM.GOST28147_MAC (0x00001223) – механизм выработки и проверки имитовставки, соответствующий стандарту ГОСТ 28147–89. Размер входных данных не ограничен.
  • Криптотокен 2 ЭП
  • Laser
    • CKM.RSA_PKCS (0x00000001) – механизм для генерации и проверки ЭП по алгоритму RSA. Может быть также использован для зашифрования/расшифрования данных.
    • CKM.SHA1_RSA_PKCS (0x00000006) – механизм для генерации и проверки ЭП (RSA) с предварительным хэшированием по алгоритму SHA-1.
    • CKM.SHA256_RSA_PKCS (0x00000040) – механизм для генерации и проверки ЭП (RSA) с предварительным хэшированием по алгоритму SHA-256.
    • CKM.DES3_MAC (0x00000134) – механизм для формирования и проверки имитовставки фиксированной длины на основе triple-DES. Ограничение длины выхода – 4 байт.
    • CKM.DES3_MAC_GENERAL (0x00000135) – механизм для формирования и проверки имитовставки произвольной длины на основе triple-DES.
    • CKM.MD5_HMAC (0x00000211) – механизм для формирования и проверки имитовставки на основе MD5.
    • CKM.SHA_1_HMAC (0x00000221) – механизм для формирования и проверки имитовставки на основе SHA-1.
    • CKM.SHA256_HMAC (0x00000251) – механизм для формирования и проверки имитовставки на основе SHA-256.
    • CKM.SHA384_HMAC (0x00000261) – механизм для формирования и проверки имитовставки на основе SHA-384.
    • CKM.SHA512_HMAC (0x00000271) – механизм для формирования и проверки имитовставки на основе SHA-512.
    • CKM.CMS_SIG (0x00000500) – механизм для генерации и проверки ЭП в формате CMS.
    • CKM.ECDSA (0x00001041) – механизм для генерации и проверки ЭП по алгоритму ECDSA.
    • CKM.ECDSA_SHA1 (0x00001042) – механизм для генерации и проверки ЭП (ECDSA) с предварительным хэшированием по алгоритму SHA1.
    • CKM.ECDSA_SHA256 (0x00001043) – механизм для генерации и проверки ЭП (ECDSA) с предварительным хэшированием по алгоритму SHA256.
    • CKM.AES_MAC (0x00001083) – механизм для формирования и проверки имитовставки фиксированной длины на основе AES. Ограничение длины выхода – 8 байт.
    • CKM.AES_MAC_GENERAL (0x00001084) – механизм для формирования и проверки имитовставки произвольной длины на основе AES.

Запускается в режимах

См.также

C.Sign, C.SignUpdate и C.SignFinal.

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм подписи
  • key – дескриптор ключа подписи
Результат:

CKR код завершения

SignUpdate

public static long SignUpdate(long session, byte[] part)

Продолжает составную операцию подписи – подписывает очередной блок данных, вычисляет HMAC или вырабатывает имитовставку для очередного блока данных.

При работе с апплетом Криптотокен функция C.SignUpdate поддерживает только механизмы CKM.GOSTR3410_WITH_GOSTR3411 и CKM.GOST28147_MAC.

Примечание

Механизмы, используемые в процессе выработки электронной подписи или имитовставки предварительно задаются функцией C.SignInit.

Запускается в режимах

См.также

C.SignInit, C.Sign и C.SignFinal.

Параметры:
  • session – дескриптор сеанса
  • part – блок данных
Результат:

CKR код завершения

UnwrapKey

public static long UnwrapKey(long session, CKM mechanism, long unwrappingKey, byte[] wrappedKey, CKA[] templ, LongRef key)

Производит импорт сессионного ключа на ключе согласования.

Поддерживаются следующие механизмы:

  • Криптотокен

    • CKM.GOST28147_KEY_WRAP (0x00001224) – механизм для импорта и экспорта ключей, соответствующий стандарту ГОСТ 28147–89.
  • Криптотокен 2 ЭП

    • CKM.GOST28147_KEY_WRAP (0x00001224) – механизм для импорта и экспорта ключей, соответствующий стандарту ГОСТ 28147–89.

    • CKM.GOSTR3410_KEY_WRAP (0x00001203) – механизм для импорта и экспорта ключей, соответствующий стандарту ГОСТ Р 34.10–2001.

      Особенности механизма

      Используется аппаратный и программный экспорт ключа.

      Аппаратный экспорт ключа

      • При аппаратном экспорте функция позволяет генерировать и экспортировать сессионный ключ для преобразований по ГОСТ 28147–89 с параметрами id-tc26-gost-28147-param-Z.
      • После импорта ключа атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение true.
      • После завершения операции преобразования ключ удаляется из памяти изделия, а атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение false.

      Программный экспорт ключа

      • При программном экспорте функция работает согласно стандарту. Доступные атрибуты:
        • CKA.VENDOR_KT2_KEY_WRAP (CKA_VENDOR_DEFINED | 0x0024) – если атрибут имеет значение true, используется алгоритм шифрования ключа содержимого по RFC 4357 п.6.1/6.2; в противном случае используется RFC 4357 п.6.3/6.4.
  • Laser

    • CKM.RSA_PKCS (0x00000001) – механизм для импорта и экспорта ключей с использованием ключевой пары и алгоритма RSA.
    • CKM.DES3_ECB (0x00000132) – механизм для импорта и экспорта ключей в режиме ECB с использованием алгоритма triple-DES.
    • CKM.DES3_CBC (0x00000133) – механизм для импорта и экспорта ключей в режиме CBC с использованием алгоритма triple-DES.
    • CKM.AES_ECB (0x00001081) – механизм для импорта и экспорта ключей в режиме ECB с использованием алгоритма AES.
    • CKM.AES_CBC (0x00001082) – механизм для импорта и экспорта ключей в режиме CBC с использованием алгоритма AES.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм
  • unwrappingKey – дескриптор ключа импорта
  • wrappedKey – тело исходного зашифрованного ключа
  • templ – шаблон нового сессионного ключа
  • key – возвращаемый дескриптор нового сессионного ключа
Результат:

CKR код завершения

Verify

public static long Verify(long session, byte[] data, byte[] signature)

Осуществляет единоразовую проверку подписи, т.е проверяет только один блок данных. Либо проверяет значение HMAC для одного блока данных, проверяет значение имитовставки для одного блока данных – конкретная операция зависит от того, с каким значением параметра mechanism была инициализирована операция проверки.

Примечание

В случае инициализации операции проверки (см. C.VerifyInit) с механизмом CKM.GOSTR3410 размер данных должен быть 32-байта.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • data – исходные данные
  • signature – проверяемая подпись
Результат:

CKR код завершения

VerifyFinal

public static long VerifyFinal(long session, byte[] signature)

Завершает операцию проверки подписи, проверки HMAC или проверки имитовставки.

При работе с апплетом Криптотокен функция поддерживает только механизмы CKM.GOSTR3410_WITH_GOSTR3411 и CKM.GOST28147_MAC.

Примечание

Механизмы, используемые в процессе выработки электронной подписи или имитовставки предварительно задаются функцией C.VerifyInit.

Запускается в режимах

См.также

C.VerifyInit, C.VerifyUpdate и C.Verify.

Параметры:
  • session – дескриптор сеанса
  • signature – проверяемая подпись
Результат:

CKR код завершения

VerifyInit

public static long VerifyInit(long session, CKM mechanism, long key)

Инициализирует операцию проверки электронной подписи, имитовставки или значения HMAC.

Поддерживаемые механизмы:

  • Криптотокен
    • CKM.GOSTR3410 (0x00001201) – механизм для генерации и проверки ЭП, соответствующий стандарту ГОСТ Р 34.10–2001. Использует в качестве входного параметра ранее вычисленное 32-байтовое значение хэш-функции.
    • CKM.GOSTR3410_WITH_GOSTR3411 (0x00001202) – механизм для генерации и проверки ЭП (ГОСТ Р 34.10–2001) с хэшированием (ГОСТ Р 34.11–94) подаваемых на вход данных. Размер данных не ограничен.
    • CKM.GOST28147_MAC (0x00001223) – механизм выработки и проверки имитовставки, соответствующий стандарту ГОСТ 28147–89. Размер входных данных не ограничен.
  • Криптотокен 2 ЭП
  • Laser
    • CKM.RSA_PKCS (0x00000001) – механизм для генерации и проверки ЭП по алгоритму RSA. Может быть также использован для зашифрования/расшифрования данных.
    • CKM.SHA1_RSA_PKCS (0x00000006) – механизм для генерации и проверки ЭП (RSA) с предварительным хэшированием по алгоритму SHA-1.
    • CKM.SHA256_RSA_PKCS (0x00000040) – механизм для генерации и проверки ЭП (RSA) с предварительным хэшированием по алгоритму SHA-256.
    • CKM.DES3_MAC (0x00000134) – механизм для формирования и проверки имитовставки фиксированной длины на основе triple-DES. Ограничение длины выхода – 4 байт.
    • CKM.DES3_MAC_GENERAL (0x00000135) – механизм для формирования и проверки имитовставки произвольной длины на основе triple-DES.
    • CKM.MD5_HMAC (0x00000211) – механизм для формирования и проверки имитовставки на основе MD5.
    • CKM.SHA_1_HMAC (0x00000221) – механизм для формирования и проверки имитовставки на основе SHA-1.
    • CKM.SHA256_HMAC (0x00000251) – механизм для формирования и проверки имитовставки на основе SHA-256.
    • CKM.SHA384_HMAC (0x00000261) – механизм для формирования и проверки имитовставки на основе SHA-384.
    • CKM.SHA512_HMAC (0x00000271) – механизм для формирования и проверки имитовставки на основе SHA-512.
    • CKM.CMS_SIG (0x00000500) – механизм для генерации и проверки ЭП в формате CMS.
    • CKM.ECDSA (0x00001041) – механизм для генерации и проверки ЭП по алгоритму ECDSA.
    • CKM.ECDSA_SHA1 (0x00001042) – механизм для генерации и проверки ЭП (ECDSA) с предварительным хэшированием по алгоритму SHA1.
    • CKM.ECDSA_SHA256 (0x00001043) – механизм для генерации и проверки ЭП (ECDSA) с предварительным хэшированием по алгоритму SHA256.
    • CKM.AES_MAC (0x00001083) – механизм для формирования и проверки имитовставки фиксированной длины на основе AES. Ограничение длины выхода – 8 байт.
    • CKM.AES_MAC_GENERAL (0x00001084) – механизм для формирования и проверки имитовставки произвольной длины на основе AES.

Запускается в режимах

См.также

C.Verify, C.VerifyUpdate и C.VerifyFinal.

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм проверки
  • key – дескриптор ключа проверки
Результат:

CKR код завершения

VerifyUpdate

public static long VerifyUpdate(long session, byte[] part)

Продолжает составную операцию проверки подписи – проверяет очередной блок данных, проверяет HMAC или имитовставку для очередного блока данных.

При работе с апплетом Криптотокен функция поддерживает только механизмы CKM.GOSTR3410_WITH_GOSTR3411 и CKM.GOST28147_MAC.

Примечание

Механизмы, используемые в процессе выработки электронной подписи или имитовставки предварительно задаются функцией C.VerifyInit.

Запускается в режимах

См.также

C.VerifyInit, C.Verify и C.VerifyFinal.

Параметры:
  • session – дескриптор сеанса
  • part – блок данных
Результат:

CKR код завершения

WaitForSlotEvent

public static long WaitForSlotEvent(long flags, LongRef slot, NativePointer reserved)

Отслеживает отключение и подключение устройств.

Запускается в режимах

Параметры:
  • flags – флаги. На данный момент поддерживается только флаг CKF.DONT_BLOCK, который определяет, блокируется ли вызов C.WaitForSlotEvent.
  • slot – возвращаемый дескриптор слота, на котором произошло событие
  • reserved – зарезервирован для будущих версий. Для этой версии должен быть равен null.
Результат:

CKR код завершения

WrapKey

public static long WrapKey(long session, CKM mechanism, long wrappingKey, long key, byte[] wrappedKey, LongRef wrappedKeyLen)

Производит экспорт симметричного сессионного ключа (сгенерированного программно) на симметричном ключе согласования.

Поддерживаются следующие механизмы:

  • Криптотокен

    • CKM.GOST28147_KEY_WRAP (0x00001224) – механизм для импорта и экспорта ключей, соответствующий стандарту ГОСТ 28147–89.
  • Криптотокен 2 ЭП

    • CKM.GOST28147_KEY_WRAP (0x00001224) – механизм для импорта и экспорта ключей, соответствующий стандарту ГОСТ 28147–89.

    • CKM.GOSTR3410_KEY_WRAP (0x00001203) – механизм для импорта и экспорта ключей, соответствующий стандарту ГОСТ Р 34.10–2001.

      Особенности механизма

      Используется аппаратный и программный экспорт ключа.

      Аппаратный экспорт ключа

      • При аппаратном экспорте функция позволяет генерировать и экспортировать сессионный ключ для преобразований по ГОСТ 28147–89 с параметрами id-tc26-gost-28147-param-Z.

      • Для апплета Криптотокен 2 ЭП вводится понятие «виртуального секретного ключа», под которым понимается ключ, который может присутствовать (но не обязательно) в оперативной памяти изделия.

        Вызову функции должно предшествовать получение дескриптора «виртуального секретного ключа», который потом передается в качестве параметра функции. Поиск объекта виртуального ключа осуществляется по шаблону, содержащему атрибуты CKA_CLASS = CKO_SECRET_KEY, CKA_ID = ”VSKO_ID”.

        После экспорта ключа атрибут CKA.VENDOR_KT2_KEY_ACTIVE принимает значение true.

      • Апплет версии 2.5.5 позволяет также экспортировать сгенерированный ранее секретный ключ. После завершения операции преобразования ключ удаляется из памяти изделия.

      Программный экспорт ключа

      • При программном экспорте функция работает согласно стандарту. Доступные атрибуты:
        • CKA.VENDOR_KT2_KEY_WRAP (CKA_VENDOR_DEFINED | 0x0024) – если атрибут имеет значение true, используется алгоритм шифрования ключа содержимого по RFC 4357 п.6.1/6.2; в противном случае используется RFC 4357 п.6.3/6.4.
        • CKA.VENDOR_KT2_AUTOGENERATE_KEY (CKA_VENDOR_DEFINED | 0x0026) – если атрибут имеет значение true, будет сгенерирован случайный секретный ключ. По умолчанию принимается значение true.
  • Laser

    • CKM.RSA_PKCS (0x00000001) – механизм для импорта и экспорта ключей с использованием ключевой пары и алгоритма RSA.
    • CKM.DES3_ECB (0x00000132) – механизм для импорта и экспорта ключей в режиме ECB с использованием алгоритма triple-DES.
    • CKM.DES3_CBC (0x00000133) – механизм для импорта и экспорта ключей в режиме CBC с использованием алгоритма triple-DES.
    • CKM.AES_ECB (0x00001081) – механизм для импорта и экспорта ключей в режиме ECB с использованием алгоритма AES.
    • CKM.AES_CBC (0x00001082) – механизм для импорта и экспорта ключей в режиме CBC с использованием алгоритма AES.

Запускается в режимах

Параметры:
  • session – дескриптор сеанса
  • mechanism – механизм экспорта
  • wrappingKey – дескриптор ключа экспорта
  • key – дескриптор исходного ключа
  • wrappedKey – возвращаемый экспортированный ключ
  • wrappedKeyLen – возвращаемая длина экспортированного ключа
Результат:

CKR код завершения

createL2SMap

public static Map<Long, String> createL2SMap(Class<?> c)

Вспомогательный метод. Добавляет все ‘public static final long’ поля класса c в словарь для соответствия Поле -- Имя.

Параметры:
  • c – класс
Результат:

словарь соответствий Поле -- Имя

f2s

public static String f2s(Map<Long, String> l2s, long flags)

Вспомогательный метод. Строковый формат флагов.

Параметры:
  • l2s – L2S словарь
  • flags – флаги
Результат:

строковое представление флагов

l2s

public static String l2s(Map<Long, String> map, String ckx, long l)

Вспомогательный метод. Возвращает имя значения l или ‘unknown %s constant 0x08x’ % (ckx, l)’, если значение не найдено в словаре.

Параметры:
  • map – L2S словарь
  • ckx – префикс типа, например ‘CKA’
  • l – значение
Результат:

имя значения или ‘unknown %s constant 0x08x’ % (ckx, l)’.