
Функции библиотеки Подробнее...
#include "rtflash-macros.h"#include "rtflash-status.h"#include "rtflash-types.h"#include <stdbool.h>Функции библиотеки
См. определение в файле rtflash.h
| rtflash_StatusCode rtflash_create_token_list | ( | rtflash_TokenSerial ** | outTokens, |
| size_t * | outTokenCount | ||
| ) |
Возвращает список, содержащий серийные номера всех подключенных в данный момент устройств Рутокен ЭЦП.
| outTokens | - указатель на список серийных номеров. Должен быть ненулевым. |
| outTokenCount | - указатель на размер списка. Должен быть ненулевым. |
| void rtflash_destroy_token_list | ( | rtflash_TokenSerial ** | tokens | ) |
Удаляет список, полученный с помощью функции rtflash_create_token_list.
| tokens | - указатель на список серийных номеров. |
| rtflash_StatusCode rtflash_create_token | ( | rtflash_TokenSerial | tokenSerial, |
| rtflash_Token * | outToken | ||
| ) |
Создает программный объект-обертку для работы с конкретным токеном.
| tokenSerial | - серийный номер целевого токена. |
| outToken | - инициализированный объект-обертка для токена. После использования необходимо удалить с помощью функции rtflash_destroy_token |
| void rtflash_destroy_token | ( | rtflash_Token * | token | ) |
Удаляет программный объект-обертку для работы с конкретным токеном, созданный с помощью функции rtflash_create_token. Автоматически вызывает функцию rtflash_logout.
| token | - указатель на удаляемый объект-обертку токена. |
| rtflash_StatusCode rtflash_is_token_supported | ( | rtflash_Token | token, |
| bool * | outIsSupported | ||
| ) |
Определяет, поддерживается ли токен библиотекой.
| token | - токен для проверки поддержки. |
| outIsSupported | - указатель на логическую переменную, в которой сохраняется результат проверки. |
| rtflash_StatusCode rtflash_login_user | ( | rtflash_Token | token, |
| const rtflash_PinCode | pin | ||
| ) |
Выполняет аутентификацию Пользователя по PIN-коду.
| token | - указатель на токен для аутентификации. Должен быть ненулевым. |
| pin | - PIN-код Пользователя. Размер PIN-кода должен быть в пределах [1,RTFLASH_PIN_MAX_SIZE] байт. |
| rtflash_StatusCode rtflash_login_admin | ( | rtflash_Token | token, |
| const rtflash_PinCode | pin | ||
| ) |
Выполняет аутентификацию Администратора по PIN-коду.
| token | - указатель на токен для аутентификации. Должен быть ненулевым. |
| pin | - PIN-код Администратора. Размер PIN-кода должен быть в пределах [1,RTFLASH_PIN_MAX_SIZE] байт. |
| rtflash_StatusCode rtflash_login_mva | ( | rtflash_Token | token, |
| rtflash_MvaId | mvaId, | ||
| rtflash_MvaRecord | record | ||
| ) |
Выполняет аутентификацию по записи из многозначного аутентификатора (MVA).
| token | - указатель на токен для аутентификации. Должен быть ненулевым. |
| mvaId | - идентификатор MVA, с записью из которого проводится сравнение. |
| record | - байтовая последовательность для сверки. |
| rtflash_StatusCode rtflash_login_local_pin | ( | rtflash_Token | token, |
| rtflash_LocalPinId | localPinId, | ||
| rtflash_PinCode | localPin | ||
| ) |
Выполняет аутентификацию по локальному PIN-коду.
| token | - указатель на токен для аутентификации. Должен быть ненулевым. |
| localPinId | - идентификатор локального PIN-кода. |
| localPin | - локальный PIN-код. |
| rtflash_StatusCode rtflash_logout | ( | rtflash_Token | token | ) |
Сбрасывает все права, полученные во время аутентификации.
| token | - указатель на токен для выхода из системы. Должен быть ненулевым. |
| rtflash_StatusCode rtflash_reset_login_attempts_user | ( | rtflash_Token | token | ) |
Сбрасывает счетчик неудачных попыток ввода PIN-кода Пользователя для аутентификации на токене до значения по умолчанию.
| token | - указатель на токен для сброса PIN-кода Пользователя. Должен быть ненулевым. |
| rtflash_StatusCode rtflash_reset_login_attempts_local_pin | ( | rtflash_Token | token, |
| rtflash_LocalPinId | localPinId | ||
| ) |
Сбрасывает счетчик неуспешных попыток аутентификации по локальному PIN-коду до значения по умолчанию.
| token | - указатель на токен. Должен быть ненулевым. |
| localPinId | - идентификатор локального PIN-кода. |
| rtflash_StatusCode rtflash_reset_login_attempts_mva | ( | rtflash_Token | token, |
| rtflash_MvaId | mvaId | ||
| ) |
Сбрасывает счетчик неуспешных попыток аутентификации по MVA до значения, заданного при создании MVA.
| token | - указатель на токен. Должен быть ненулевым. |
| mvaId | - идентификатор MVA. |
| rtflash_StatusCode rtflash_get_remaining_login_attempts_user | ( | rtflash_Token | token, |
| rtflash_Attempts * | outAttemptsLeft | ||
| ) |
Получает количество оставших попыток аутентификации по PIN-коду Пользователя
| token | - указатель на токен. Должен быть ненулевым. |
| outAttemptsLeft | - указатель на числовую переменную, в которой хранится количество оставшихся попыток аутентификации. |
| rtflash_StatusCode rtflash_get_remaining_login_attempts_admin | ( | rtflash_Token | token, |
| rtflash_Attempts * | outAttemptsLeft | ||
| ) |
Получает количество оставших попыток аутентификации по PIN-коду Администратора
| token | - указатель на токен. Должен быть ненулевым. |
| outAttemptsLeft | - указатель на числовую переменную, в которой хранится количество оставшихся попыток аутентификации. |
| rtflash_StatusCode rtflash_get_remaining_login_attempts_mva | ( | rtflash_Token | token, |
| rtflash_MvaId | mvaId, | ||
| rtflash_Attempts * | outAttemptsLeft | ||
| ) |
Получает количество оставших попыток аутентификации по многозначному аутентификатору (MVA)
| token | - указатель на токен. Должен быть ненулевым. |
| mvaId | - идентификатор MVA, со слепком из которого проводится сравнение. |
| outAttemptsLeft | - указатель на числовую переменную, в которой хранится количество оставшихся попыток аутентификации. |
| rtflash_StatusCode rtflash_get_remaining_login_attempts_local_pin | ( | rtflash_Token | token, |
| rtflash_LocalPinId | localPinId, | ||
| rtflash_Attempts * | outAttemptsLeft | ||
| ) |
Получает количество оставших попыток аутентификации по локальному PIN-коду
| token | - указатель на токен. Должен быть ненулевым. |
| localPinId | - идентификатор локального PIN-кода. |
| outAttemptsLeft | - указатель на числовую переменную, в которой хранится количество оставшихся попыток аутентификации. |
| rtflash_StatusCode rtflash_create_section_list | ( | rtflash_Token | token, |
| rtflash_Section ** | outSections, | ||
| size_t * | outSectionCount | ||
| ) |
Возвращает список разделов flash-памяти токена.
| token | - указатель на токен, информацию о flash-памяти которого необходимо получить. Должен быть ненулевым. |
| outSections | - указатель на список разделов. Должен быть ненулевым. |
| outSectionCount | - указатель на количество разделов. Должно быть ненулевым. |
| void rtflash_destroy_section_list | ( | rtflash_Section ** | sections | ) |
Удаляет список разделов, полученных с помощью функции rtflash_create_section_list.
| sections | - указатель на список разделов для удаления. |
| rtflash_StatusCode rtflash_get_available_flash_size | ( | rtflash_Token | token, |
| rtflash_MemSizeMB * | outSize | ||
| ) |
Возвращает доступный для форматирования размер flash-памяти в мегабайтах.
| token | - указатель на токен, для которого нужно получить информацию. Должен быть ненулевым. |
| outSize | - доступный для форматирования размер flash-памяти. Не включает размеры журнальных разделов: журнала СБ и журнала ФО. |
| rtflash_StatusCode rtflash_split_into_sections | ( | rtflash_Token | token, |
| rtflash_Section const * | sections, | ||
| size_t | sectionCount | ||
| ) |
Разбивает flash-память токена на разделы.
| token | - указатель на токен для выполнения операции. Должен быть ненулевым. |
| sections | - список разделов. Поле id секции игнорируется. Суммарный размер разделов не должен превышать доступного для форматирования размера из функции rtflash_get_available_flash_size. Минимальное количество разделов составляет 1. Максимальное количество новых разделов составляет 8 - 1 (если есть журнал ФО) - 1 (если есть журнал СБ) - 1 (если есть зашифрованный раздел). Журнальный (СБ и ФО) и зашифрованный разделы можно создать только один раз. Журнальный (СБ и ФО) и зашифрованный разделы можно создать только с правами доступа Hidden. Журнал ФО поддерживается только для Rutoken ECP 3.0 Flash 5900. Размер журнала ФО должен быть >= 500 Мб, но не более половины всей flash-памяти. Размер журнала СБ должен быть >= 500 Мб. Зашифрованный раздел поддерживается только для Rutoken ECP 3.0 Flash 5900. Операции с зашифрованным разделом должны быть защищены с помощью пользовательского PIN-кода или локального PIN-кода в качестве единственного или одного из атрибутов безопасности. Размер зашифрованного раздела должен быть менее половины всей flash-памяти токена. |
| sectionCount | - количество разделов. |
| rtflash_StatusCode rtflash_change_section_access_rights | ( | rtflash_Token | token, |
| rtflash_SectionId | sectionId, | ||
| rtflash_SectionAccessState | accessRights, | ||
| bool | isPermanent | ||
| ) |
Изменяет права доступа к разделу.
| token | - указатель на токен для выполнения операции. Должен быть ненулевым. |
| sectionId | - идентификатор раздела для изменения прав. |
| accessRights | - новые права доступа к разделу. Изменение прав доступа на CD-ROM могут быть только постоянными. Журнальный раздел может быть установлен только в состояние RO и только временно. Журнальный раздел не может быть установлен в состояние RO, если зашифрованный раздел находится в состоянии RO или RW. |
| isPermanent | - false, если изменение должно быть отменено после выхода из системы или отключения токена. |
| rtflash_StatusCode rtflash_create_mva_id_list | ( | rtflash_Token | token, |
| rtflash_MvaId ** | outIds, | ||
| size_t * | outCount | ||
| ) |
Возвращает список идентификаторов MVA, присутствующих на токене в данный момент.
| token | - указатель на токен, MVA которого нужно получить. Должен быть ненулевым. |
| outIds | - указатель на список идентификаторов MVA. Должен быть ненулевым. |
| outCount | - указатель на количество MVA. Должен быть ненулевым. |
| void rtflash_destroy_mva_id_list | ( | rtflash_MvaId ** | mvaIds | ) |
Удаляет список идентификаторов MVA, полученный с помощью функции rtflash_create_mva_id_list.
| mvaIds | - указатель на список идентификаторов MVA для удаления. |
| rtflash_StatusCode rtflash_create_mva | ( | rtflash_Token | token, |
| rtflash_MvaParams const * | params, | ||
| rtflash_MvaId * | outMvaId | ||
| ) |
Создает новый MVA на токене. Созданный MVA можно удалить только с помощью форматирования токена. Использование MVA для аутентификации (rtflash_login_mva) не требует каких-либо прав.
| token | - указатель на токен для создания MVA. Должен быть ненулевым. |
| params | - параметры MVA для создания. Должны быть ненулевыми. |
| outMvaId | - указатель на идентификатор созданного MVA. Должен быть ненулевым. |
| rtflash_StatusCode rtflash_mva_add_record | ( | rtflash_Token | token, |
| rtflash_MvaId | mvaId, | ||
| rtflash_MvaRecord | record, | ||
| rtflash_RecordId * | outRecordId | ||
| ) |
Добавляет запись в MVA в качестве аутентификатора.
| token | - указатель на токен. Должен быть ненулевым. |
| mvaId | - идентификатор MVA, в который нужно добавить запись. |
| record | - запись. Размер записи должен быть в пределах [1, RTFLASH_MVA_MAX_RECORD_SIZE]. Будет записана байтовая последовательность до первого символа '/0' или длиной RTFLASH_MVA_MAX_RECORD_SIZE. |
| outRecordId | - идентификатор добавленной записи. |
| rtflash_StatusCode rtflash_mva_delete_record | ( | rtflash_Token | token, |
| rtflash_MvaId | mvaId, | ||
| rtflash_RecordId | recordId | ||
| ) |
Удаляет запись из MVA.
| token | - указатель на токен. Должен быть ненулевым. |
| mvaId | - идентификатор MVA, из которого нужно удалить запись. |
| recordId | - идентификатор записи для удаления. Нумерация идентификаторов записей начинается с 1. |
| rtflash_StatusCode rtflash_mva_clear_all_records | ( | rtflash_Token | token, |
| rtflash_MvaId | mvaId | ||
| ) |
Удаляет все записи из MVA.
| token | - указатель на токен. Должен быть ненулевым. |
| mvaId | - идентификатор MVA. |
| rtflash_StatusCode rtflash_create_local_pin_id_list | ( | rtflash_Token | token, |
| rtflash_LocalPinId ** | outIds, | ||
| size_t * | outCount | ||
| ) |
Возвращает список локальных PIN-кодов, присутствующих на токене в данный момент.
| token | - указатель на токен. Должен быть ненулевым. |
| outIds | - указатель на список. Должен быть ненулевым. |
| outCount | - указатель на количество. Должен быть ненулевым. |
| void rtflash_destroy_local_pin_id_list | ( | rtflash_LocalPinId ** | ids | ) |
Удаляет список локальных PIN-кодов, полученный с помощью функции rtflash_create_local_pin_id_list.
| ids | - указатель на список для удаления. |
| rtflash_StatusCode rtflash_create_local_pin | ( | rtflash_Token | token, |
| rtflash_PinCode | localPin, | ||
| rtflash_SecureType | secureType, | ||
| rtflash_LocalPinId * | outLocalId | ||
| ) |
Создает локальный PIN-код на токене.
| token | - указатель на токен. Должен быть ненулевым. |
| localPin | - устанавливаемый локальный PIN-код. Длина PIN-кода должна находиться в пределах [RTFLASH_LOCAL_PIN_MIN_SIZE, RTFLASH_LOCAL_PIN_MAX_SIZE] символов. |
| secureType | - тип защиты от изменений локального PIN-кода. При установке типа RTFLASH_SECURE_T_LOCAL_PIN, защита локального PIN-кода происходит на самого себя. Параметр может принимать одно из трех значений: RTFLASH_SECURE_T_LOCAL_PIN, RTFLASH_SECURE_T_ADMIN или RTFLASH_SECURE_T_USER; |
| outLocalId | - выходной идентификатор созданного локального PIN-кода. |
| rtflash_StatusCode rtflash_change_local_pin | ( | rtflash_Token | token, |
| rtflash_LocalPinId | localId, | ||
| rtflash_PinCode | newLocalPin | ||
| ) |
Изменяет локальный PIN-код на новый.
| token | - указатель на токен. Должен быть ненулевым. |
| localId | - идентификатор локального PIN-кода. Должен идентифицировать существующий локальный PIN-код. |
| newLocalPin | - новый локальный PIN-код. Длина PIN-кода должна находиться в пределах [RTFLASH_LOCAL_PIN_MIN_SIZE, RTFLASH_LOCAL_PIN_MAX_SIZE] символов. |
| rtflash_StatusCode rtflash_add_pc_info_to_journal | ( | rtflash_Token | token, |
| rtflash_PcInfo const * | pcInfo | ||
| ) |
Записывает информацию о ПК в журнал СБ токена.
| token | - токен, на который записывается информация. Должен быть ненулевым. |
| pcInfo | - информация о ПК для записи. Должна быть ненулевой. |