Хранение данных

storeBinaryData

storeBinaryData(string label, array data)

Записать на электронный ключ двоичные данные в общедоступную область памяти. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState(). Объект будет доступен для чтения без предъявления PIN-кода пользователя.

Аргументы:
  • label – описание данных.
  • data – данные в виде массива байт.
Результат:

int – идентификатор созданного объекта.

storePrivateBinaryData

storePrivateBinaryData(string label, array data)

Записать на электронный ключ двоичные данные в защищённую область памяти. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState(). Данные, записанные таким образом, можно прочитать только при состоянии аутентификации выше, чем STATE_NOT_BINDED (0), т.е. после предъявления PIN-кода пользователя.

Аргументы:
  • label – описание данных.
  • data – данные в виде массива байт.
Результат:

int – идентификатор созданного объекта.

getBinaryDataObjectList

getBinaryDataObjectList(int tokenDesc)

Получить список объектов двоичных данных.

Существует два типа объектов:

  • Общедоступные объекты. Создаются с помощью метода storeBinaryData(). Чтение такого объекта доступно всем пользователям без предъявления PIN (любое состояние аутентификации). Изменение, запись или удаление требует предъявления PIN-кода пользователя (состояние аутентификации выше, чем STATE_NOT_BINDED (0)).
  • Защищённые объекты. Создаются с помощью метода storePrivateBinaryData(). Чтение или получение идентификатора такого объекта доступно только пользователям, предъявившим PIN (состояние аутентификации выше, чем STATE_NOT_BINDED (0)). Изменение, запись или удаление также требует предъявления PIN-кода пользователя (состояние аутентификации выше, чем STATE_NOT_BINDED (0)).
Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
Результат:

array – массив элементов, состоящих из двух полей: идентификатор объекта двоичных данных, описание объекта двоичных данных.

readBinaryObject

readBinaryObject(int tokenDesc, int objectID)

Получить значение объекта двоичных данных. Работает при любом состоянии аутентификации. В случае отсутствия объекта с таким objectID или отсутствия доступа к нему будет возвращена ошибка CKR_OBJECT_HANDLE_INVALID.

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • objectID – идентификатор объекта двоичных данных. Получается при создании объекта storeBinaryData() или при помощи метода поиска getBinaryDataObjectList().
Результат:

array – данные в виде массива байт.

deleteBinaryObject

deleteBinaryObject(int objectID)

Удалить объект двоичных данных. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState(). В случае отсутствия объекта с таким objectID или отсутствия доступа к нему будет возвращена ошибка CKR_OBJECT_HANDLE_INVALID.

Аргументы:
  • objectID – идентификатор объекта двоичных данных. Получается при создании объекта storeBinaryData() или при помощи метода поиска getBinaryDataObjectList().
Результат:

booltrue при успешном завершении.

modifyBinaryObject

modifyBinaryObject(int objectID, string label, array data)

Изменить объект двоичных данных. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState(). В случае отсутствия объекта с таким objectID или отсутствия доступа к нему будет возвращена ошибка CKR_OBJECT_HANDLE_INVALID.

Аргументы:
  • objectID – идентификатор объекта двоичных данных. Получается при создании объекта storeBinaryData или при помощи метода поиска getBinaryDataObjectList().
  • label – описание данных.
  • data – данные в виде массива байт.