C_Initialize

CK_RV C_Initialize(CK_VOID_PTR pInitArgs)


Параметры: pInitArgs (in) – указатель на структуру типа  CK_C_INITIALIZE_ARGS.

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

Примечание: Библиотека не поддерживает приложения, использующие многопотоковый доступ, и не реагирует на значения флагов 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 – библиотека уже была инициализирована вызовом C_Initialize и не была закрыта соответствующим вызовом C_Finalize().

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

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

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

C_Finalize

CK_RV C_Finalize(CK_VOID_PTR pReserved)


Параметры:    

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

C_Finalize вызывается для окончания сеанса использования приложением библиотеки. При выполнении освобождает память, выделенную другим функциям (аналогично вызову функции freeBuffer() для каждого выделенного буфера памяти). Эта функция должна быть последним вызовом в сеансе.

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


Результат: 

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

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

C_GetInfo

CK_RV C_GetInfo(CK_INFO_PTR pInfo)


Параметры:    

  • pInfo – указатель на структуру, в которую функция записывает сведения о библиотеке.

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

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


Результат:    

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

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

C_GetFunctionList

CK_RV C_GetFunctionList(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)


Параметры:    

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

Примечание: Это единственная функция, которая может быть вызвана перед вызовом C_Initialize().

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

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


Результат:

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

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