Работа с примерами

В состав SDK для работы с библиотекой Cryptoki включены примеры использования функций для некоторых выполняемых операций, как то получение информации о токене, инициализация токена, смена PIN-кода пользователя и др.

В комплект разработчика JaCarta SDK, предназначенного для работы с библиотекой на стационарных платформах, входят примеры использования функций для апплетов Криптотокен, Laser, Datastore, включающие реализацию функций на языках Java и/или C/C++.

В комплект разработчика JC-Mobile SDK, предназначенного для работы с мобильными платформами, входят примеры использования функций для апплета Криптотокен на языке Java для платформы Android и на языке Objective-C для платформы iOS. Список примеров одинаков для каждой платформы.

Примечание

Более подробная информация о поддерживаемых платформах приведена в разделе Общие сведения. Там же имеется ссылка на форму заказа комплекта разработчика.

Ниже приводится описание примеров для каждого SDK. Примеры разделены на следующие группы (и соответствующие каталоги) по назначению:

  • Подготовка (каталог preparing) – примеры иллюстрируют подготовку токена к работе,
  • Использование (каталог using) – примеры иллюстрируют основные операции при работе с токеном,
  • Диагностика (каталог diagnosis) – примеры иллюстрируют сервисные операции (смена PIN-кода администратора, разблокировка и пр.).

Примечание

Примеры для JaCarta SDK и апплета Криптотокен разделены на группы не по назначению, а по используемому языку программирования (C/C++ или Java).

Состав и описание примеров

JC-Mobile SDK

Криптотокен

Список примеров по группам:

  • preparing
    • appletStatus – получение информации о готовности апплета к использованию.
    • init – установка PIN-кода пользователя и выпуск сертификата.
  • using
    • info – получение полной информации о библиотеке, слоте и электронном ключе.
    • pinUser – изменение PIN-кода пользователя.
    • certInfo – получение информации о сертификатах, размещённых в памяти электронного ключа.
    • reissue — перевыпуск сертификата.
    • delete – удаление сертификата с ключевой парой.
    • signAndVerify – создание и проверка электронной подписи.
    • pkcs7SignAndVerify – создание и проверка электронной подписи в формате PKCS #7.
    • data – запись и чтение файлов в памяти электронного ключа.
    • encryption – зашифрование и расшифрование данных.
  • diagnosis
    • pinAdmin – изменение PIN-кода администратора.
    • pinUserUnblock – сброс попыток предьявления PIN-кода пользователя.

JaCarta SDK

Криптотокен

Примеры на языке C:

  • CertificateRequest – составление запроса на сертификат.
  • CheckCertificateValidity – проверка валидности сертификата.
  • CPPKCSEncDec – зашифрование средствами библиотеки Cryptoki и расшифрование с помощью КриптоПРО CSP.
  • CreateKeys – создание ключевой пары по ГОСТ Р 34.10-2001.
  • DeriveKey – создание ключа согласования в соответствии с RFC 4357.
  • Digest – генерация хэш-последовательсности по ГОСТ Р 34.11-94.
  • GetCertificateInfo – получение информации о хранящихся на токене сертификатах.
  • Info – получение информации о библиотеке, слоте и токене.
  • Init – инициализация токена и установка PIN-кода пользователя.
  • Pin – смена PIN-кода пользователя/администратора, авторизация с PIN-кодом пользователя/администратора.
  • PKCS7SignAndVerify – создание и проверка сообщений PKCS#7 типа signed data.
  • Random – генерация последовательности случайных чисел.
  • SignAndVerify – формирование и проверка подписи по ГОСТ Р 34.10-2001.
  • VerifyWithSessionKey – проверка подписи с помощью внешнего открытого ключа.

Примеры на языке Java:

  • pkcs11CreateKeys – создание ключевой пары по ГОСТ Р 34.10-2001.
  • pkcs11DeriveKey – создание ключа согласования в соответствии с RFC4357.
  • pkcs11Digest – генерация хэш-последовательсности по ГОСТ Р 34.11-94.
  • pkcs11Info – получение информации о библиотеке, слоте и токене.
  • pkcs11Random – генерация последовательности случайных чисел.
  • pkcs11SignAndVerify – формирование и проверка подписи по ГОСТ Р 34.10-2001.
  • pkcs11VerifyWithSessionKey – проверка подписи с помощью внешнего открытого ключа.

Laser

Список примеров по группам:

  • preparing
    • appletStatus – получение информации о готовности апплета к использованию.
    • init – инициализация апплета и выпуск сертификата.
  • using
    • info – получение полной информации о библиотеке, слоте и электронном ключе.
    • pinUser – смена PIN-кода пользователя.
    • certInfo – получение информации о сертификатах, размещённых в памяти электронного ключа.
    • certReissue — перевыпуск сертификата.
    • certDelete – удаление сертификата с ключевой парой.
    • signAndVerify – создание и проверка электронной подписи.
    • pkcs7SignAndVerify – создание и проверка электронной подписи в формате PKCS #7.
    • CMSSignAndVerify – создание и проверка электронной подписи в формате CMS.
    • data – запись и чтение файлов в памяти электронного ключа.
  • diagnosis
    • pinUserUnblock – разблокировка PIN-кода пользователя.
    • pinAdmin – изменение PIN-кода администратора.

Datastore

Список примеров по группам:

  • preparing
    • appletStatus – получение информации о готовности апплета к использованию.
  • using
    • info – получение полной информации о библиотеке, слоте и электронном ключе.
    • pinUser – смена PIN-кода пользователя.
    • data – запись и чтение файлов в памяти электронного ключа.
  • diagnosis
    • pinUserUnblock – сброс попыток предьявления PIN-кода пользователя.
    • pinAdmin – изменение PIN-кода администратора.