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

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

Ниже приводится описание примеров для каждого из апплетов.

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

Криптотокен

  • 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 – проверка подписи с помощью внешнего открытого ключа.

Laser

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

Datastore

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

Антифрод-терминал

  • cryptoProVerifySecureLog – проверка подписи под журналом операций Антифрод-терминала средствами КриптоПро CSP.
  • swyxShowcase – работа с Антифрод-терминалом в режимах: без смарт-карты (Cardless) и с подключенной смарт-картой (Cardfull).

Сборка тестовых примеров

Для сборки примеров необходимо установить утилиту CMake <https://cmake.org> версии 2.6 и выше. Эта утилита является средством для автоматизации сборки программного обеспечения из исходного кода.

Сборка примеров под Windows

Для сборки примеров под ОС Windows следует:

  1. перейти в каталог ./PKCS 11/sources/ (все пути указываются относительно корневого каталога SDK);
  2. запустить на выполнение командный файл make.bat.

В результате работы файла артефакты сборки будут находиться в каталоге ./out.

Если выполнить команду:

make.bat install

то в каталог ./out будут записаны артефакты сборки, а в каталог ./bin исполняемые файлы.

Сборка примеров под Linux и MacOS X

Для сборки примеров под Linux и MacOS X следует:

  1. перейти в каталог ./PKCS 11/sources/ (все пути указываются относительно корневого каталога SDK);
  2. запустить на выполнение командный файл make.sh.

В результате работы файла артефакты сборки будут находиться в каталоге ./out.

Если выполнить команду:

make.sh install

то в каталог ./out будут записаны артефакты сборки, а в каталог ./bin исполняемые файлы.