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

storeBinaryData

Поддерживаемые типы токенов
GOST
PRO
storeBinaryData(string label, array data)

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

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

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

storePrivateBinaryData

Поддерживаемые типы токенов
GOST
PRO
storePrivateBinaryData(string label, array data)

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

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

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

getBinaryDataObjectList

Поддерживаемые типы токенов
GOST
PRO
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

Поддерживаемые типы токенов
GOST
PRO
readBinaryObject(int tokenDesc, int objectID)

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

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

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

deleteBinaryObject

Поддерживаемые типы токенов
GOST
PRO
deleteBinaryObject(int objectID)

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

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

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

modifyBinaryObject

Поддерживаемые типы токенов
GOST
PRO
modifyBinaryObject(int objectID, string label, array data)

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

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