Служебные функции

C.Initialize

C.Initialize(CK_VOID_PTR pInitArgs)
Параметры:
  • pInitArgs (in) – указатель на структуру типа CK_C.INITIALIZE_ARGS.

Инициализирует Cryptoki-библиотеку. pInitArgs либо принимает значение NULL_PTR, либо содержит указатель на структуру типа CK_C.INITIALIZE_ARGS.

Примечание

При разработке под ОС Android функция C.Initialize обладает следующими особенностями:

  • её можно вызывать без аргумента;
  • в случае вызова этой функции с аргументом она его игнорирует;
  • действует аналогично вызову с аргументом NULL_PTR.

Примечание

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

  • CreateMutex;
  • DestroyMutex;
  • LockMutex;
  • UnlockMutex.

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

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CANT_LOCK – невозможно использовать разделение ресурсов.

    Примечание

    Данный аргумент возвращается только функцией C.Initialize.

  • CKR_CRYPTOKI_ALREADY_INITIALIZED – библиотека Cryptoki уже была инициализирована вызовом C.Initialize и не была закрыта соответствующим вызовом C.Finalize().

    Примечание

    Данный аргумент возвращается только функцией C.Initialize.

  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.

Совет

Полный список ошибок см. в приложении.

C.Finalize

C.Finalize(CK_VOID_PTR pReserved)
Параметры:
  • pReserved (out) – данный параметр предназначен для последующих версий PKCS #11. Должен содержать значение NULL_PTR.

C.Finalize вызывается для окончания сеанса использования приложением Cryptoki-библиотеки. При выполнении освобождает память, выделенную другим функциям. Эта функция должна быть последним вызовом в сеансе.

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

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы. Возвращается в случае, если pReserved не равен NULL_PTR.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека Cryptoki еще не была инициализирована (см. C.Initialize()).
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.

Совет

Полный список ошибок см. в приложении.

C.GetInfo

C.GetInfo(CK_INFO_PTR pInfo)
Параметры:
  • pInfo – указатель на структуру, в которую функция записывает сведения о библиотеке Cryptoki.

Возвращает общую информацию о библиотеке Cryptoki, которая записывается в структуру типа CK_INFO.

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

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C.Initialize()).
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.

Совет

Полный список ошибок см. в приложении.

C.GetFunctionList

C.GetFunctionList(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
Параметры:
  • ppFunctionList (out) – указатель на структуру типа CK_FUNCTION_LIST, которая содержит указатели на все методы Cryptoki API.

Примечание

Это единственная функция Cryptoki, которая может быть вызвана перед вызовом C.Initialize().

Метод для получения указателя на список указателей на все функции Cryptoki-библиотеки. ppFunctionList содержит указатель на структуру CK_FUNCTION_LIST библиотеки, которая в свою очередь содержит указатели на все методы Cryptoki API.

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

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.

Совет

Полный список ошибок см. в приложении.

Оглавление