Модуль аутентификации устройств относится к подсистеме безопасности OpenHarmony. Он управляет полным жизненным циклом доверенных отношений между устройствами, включая создание, поддержание, использование и отмену этих отношений, а также реализует аутентификацию и безопасный обмен сессионными ключами между доверенными устройствами. Этот модуль предоставляет базовые возможности для доверенного взаимодействия устройств, работающих под управлением OpenHarmony.
Модуль аутентификации устройств предлагает следующие возможности:
Рисунок 1 Архитектура модуля аутентификации устройств
В архитектуре:
/base/security/device_auth ├── frameworks # Код фреймворка аутентификации устройств ├── hals # HAL-код для библиотеки инструментов │ ├── inc # Заголовочные файлы библиотеки инструментов │ └── src # Исходные файлы библиотеки инструментов ├── interfaces # API, выставленные в открытый доступ └── services # Услуги аутентификации устройств ├── common # Общие модули ├── group_auth # Аутентификация групп устройств ├── group_manager # Управление группами устройств ├── module # Модуль аутентификатора (включая независимый от аккаунта P2P устройства аутентификатора) └── session # Модуль планирования и управления сессиями
## Использование<a name="section1312121216216"></a>
### Доступные API<a name="section1551164914237"></a>
Подмодуль управления группами устройств абстрагирует отношения доверия, установленные различными службами между устройствами, в группы доверия и предоставляет унифицированные API для создания, удаления и запроса групп. Подмодуль аутентификации групп устройств обеспечивает проверку подлинности доверенных устройств и обмен ключами сессии конечноконечной связи на основе групп доверия.**Таблица 1** API в DeviceGroupManager<a name="table1731550155318"></a>
<table>
<thead align="left">
<tr id="row4419501537">
<th class="cellrowborder" valign="top" width="57.38999999999999%" id="mcps1.2.3.1.1">
<p id="p54150165315"><a name="p54150165315"></a><a name="p54150165315"></a>API</p>
</th>
<th class="cellrowborder" valign="top" width="42.61%" id="mcps1.2.3.1.2">
<p id="p941150145313"><a name="p941150145313"></a><a name="p941150145313"></a>Описание</p>
</th>
</tr>
</thead>
<tbody>
<tr id="row34145016535">
<td class="cellrowborder" valign="top" width="57.38999999999999%" headers="mcps1.2.3.1.1">
<p id="p1487722894416"><a name="p1487722894416"></a><a name="p1487722894416"></a>const DeviceGroupManager *GetGmInstance()</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%" headers="mcps1.2.3.1.2">
<p id="p13562171015712"><a name="p13562171015712"></a><a name="p13562171015712"></a>Получает экземпляр <strong id="b4999346135811">DeviceGroupManager</strong>.</p>
</td>
</tr>
<tr id="row1027292610453">
<td class="cellrowborder" valign="top" width="57.38999999999999%" headers="mcps1.2.3.1.1">
<p id="p1227312634518"><a name="p1227312634518"></a><a name="p1227312634518"></a>int32_t RegCallback(const char *appId, const DeviceAuthCallback *callback)</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%" headers="mcps1.2.3.1.2">
<p id="p7488141134613"><a name="p7488141134613"></a><a name="p7488141134613"></a>Регистрирует обратный вызов.</p>
</td>
</tr>
<tr id="row1746172917474">
<td class="cellrowborder" valign="top" width="57.38999999999999%" headers="mcps1.2.3.1.1">
<p id="p9758144610285"><a name="p9758144610285"></a><a name="p9758144610285"></a>int32_t CreateGroup(int64_t requestId, const char *appId, const char *createParams)</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%" headers="mcps1.2.3.1.2">
<p id="p2431455765"><a name="p2431455765"></a><a name="p2431455765"></a>Создает группу доверенных устройств.</p>
</td>
</tr>
</tbody>
</table><table>
<tbody>
<tr id="row1440154863415">
<td class="cellrowborder" valign="top" width="57.38999999999999%">
<p id="p19702122715481"><a name="p19702122715481"></a><a name="p19702122715481"></a>int32_t Удаление группы доверенных устройств.</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%">
<p id="p240224817343"><a name="p240224817343"></a><a name="p240224817343"></a>Удаляет группу доверенных устройств.</p>
</td>
</tr>
<tr id="row495164812345">
<td class="cellrowborder" valign="top" width="57.38999999999999%">
<p id="p1872417515488"><a name="p1872417515488"></a><a name="p1872417515488"></a>int32_t Добавление члена в указанную группу(int64_t requestId, const char *appId, const char *addParams)</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%">
<p id="p1995144893411"><a name="p1995144893411"></a><a name="p1995144893411"></a>Добавляет члена в указанную группу.</p>
</td>
</tr>
<tr id="row4107114933418">
<td class="cellrowborder" valign="top" width="57.38999999999999%">
<p id="p794617473016"><a name="p794617473016"></a><a name="p794617473016"></a>int32_t Удаление члена из указанной группы(int64_t requestId, const char *appId, const char *deleteParams);</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%">
<p id="p11107849113418"><a name="p11107849113418"></a><a name="p11107849113418"></a>Удаляет члена из указанной группы.</p>
</td>
</tr>
<tr id="row3270349193419">
<td class="cellrowborder" valign="top" width="57.38999999999999%">
<p id="p179130216514"><a name="p179130216514"></a><a name="p179130216514"></a>int32_t Обработка данных(int64_t requestId, const uint8_t *data, uint32_t dataLen)</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%">
<p id="p12701049183411"><a name="p12701049183411"></a><a name="p12701049183411"></a>Обрабатывает данные, связанные или несвязанные.</p>
</td>
</tr>
</tbody>
</table>```markdown
<tr id="row126575774517">
<td class="cellrowborder" valign="top" width="57. 38999999999999%">
<p id="p126575774517"><a name="p126575774517"></a><a name="p126575774517"></a>int32_t GetGroupInfo(const char *appId, const char *queryParams, char **returnGroupVec, uint32_t *groupNum)</p>
</td>
<td class="cellrowborder" valign="top" width="42. 61%">
<p id="p12701049183411"><a name="p12701049183411"></a><a name="p12701049183411"></a>Получает информацию о группе доверенных устройств.</p>
</td>
</tr>
</table>
Извините за возможную путаницу с порядком методов. Вот правильный порядок:
Извините за возможную путаницу с порядком методов. Вот правильный порядок:
``````markdown
<table>
<tbody>
<tr id="row1440154863415">
<td class="cellrowborder" valign="top" width="57. 38999999999999%">
<p id="p19702122715481"><a name="p19702122715481"></a><a name="p19702122715481"></a>int32_t AddMemberToGroup(int64_t requestId, const char *appId, const char *addParams)</p>
</td>
<td class="cellrowborder" valign="top" width="42. 61%">
<p id="p240224817343"><a name="p240224817343"></a><a name="p240224817343"></a>Добавляет участника в указанную группу.</p>
</td>
</tr>
<tr id="row495164812345">
<td class="cellrowborder" valign="top" width="57. 38999999999999%">
<p id="p1872417515488"><a name="p1872417515488"></a><a name="p1872417515488"></a>int32_t DeleteMemberFromGroup(int64_t requestId, const char *appId, const char *deleteParams);</p>
</td>
<td class="cellrowborder" valign="top" width="42. 61%">
<p id="p1995144893411"><a name="p1995144893411"></a><a name="p1995144893411"></a>Удаляет участника из указанной группы.</p>
</td>
</tr>
<tr id="row4107114933418">
<td class="cellrowborder" valign="top" width="57. 38999999999999%">
<p id="p794617473016"><a name="p794617473016"></a><a name="p794617473016"></a>int32_t ProcessData(int64_t requestId, const uint8_t *data, uint32_t dataLen)</p>
</td>
<td class="cellrowborder" valign="top" width="42. 61%">
<p id="p11107849113418"><a name="p11107849113418"></a><a name="p11107849113418"></a>Обрабатывает данные, связанные или несвязанные.</p>
</td>
</tr>
<tr id="row3270349193419">
<td class="cellrowborder" valign="top" width="57. 38999999999999%">
<p id="p179130216514"><a name="p179130216514"></a><a name="p179130216514"></a>int32_t GetGroupInfo(const char *appId, const char *queryParams, char **returnGroupVec, uint32_t *groupNum)</p>
</td>
<td class="cellrowborder" valign="top" width="42. 61%">
<p id="p12701049183411"><a name="p12701049183411"></a><a name="p12701049183411"></a>Получает информацию о группе доверенных устройств.</p>
</td>
</tr>
<tr id="row126575774517">
<td class="cellrowborder" valign="top" width="57. 38999999999999%">
<p id="p126575774517"><a name="p126575774517"></a><a name="p126575774517"></a>int32_t DeleteGroupOfTrustedDevices(int64_t requestId, const char *appId, const char *deleteParams)</p>
</td>
<td class="cellrowborder" valign="top" width="42. 61%">
<p id="p126575774517"><a name="p126575774517"></a><a name="p126575774517"></a>Удаляет группу доверенных устройств.</p>
</td>
</tr>
</tbody>
</table>
```<p id="p126575774517"><a name="p126575774517"></a><a name="p126575774517"></a>Удаляет группу доверенных устройств.</p>
</td>
</tr>
</tbody>
</table>
```**Таблица 2** API в GroupAuthManager```
Полный текст с исправлениями:
<p id="p126575774517"><a name="p126575774517"></a><a name="p126575774517"></a>Удаляет группу доверенных устройств.</p>
</td>
</tr>
</tbody>
</table>
```**Таблица 2** API в GroupAuthManager```<a name="table12330133114308"></a>
<table><thead align="left"><tr id="row15330631193013"><th class="cellrowborder" valign="top" width="57.38999999999999%" id="mcps1.2.3.1.1"><p id="p73319319302"><a name="p73319319302"></a><a name="p73319319302"></a>API</p>
</th>
<th class="cellrowborder" valign="top" width="42.61%" id="mcps1.2.3.1.2"><p id="p133312317305"><a name="p133312317305"></a><a name="p133312317305"></a>Описание</p>
</th>
</tr>
</thead>
<tbody><tr id="row15331183193010"><td class="cellrowborder" valign="top" width="57.38999999999999%" headers="mcps1.2.3.1.1 "><p id="p19743328133620"><a name="p19743328133620"></a><a name="p19743328133620"></a>const GroupAuthManager *GetGaInstance()</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%" headers="mcps1.2.3.1.2 "><p id="p16742028153611"><a name="p16742028153611"></a><a name="p16742028153611"></a>Получает экземпляр <strong id="b13399173415119"><a name="b13399173415119"></a><a name="b13399173415119"></a>GroupAuthManager</strong>.</p>
</td>
</tr>
<tr id="row7331133163017"><td class="cellrowborder" valign="top" width="57.38999999999999%" headers="mcps1.2.3.1.1 "><p id="p118111117133514"><a name="p118111117133514"></a><a name="p118111117133514"></a>int32_t AuthDevice(int64_t authReqId, const char *authParams, const DeviceAuthCallback *gaCallback)</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%" headers="mcps1.2.3.1.2 "><p id="p151481335193817"><a name="p151481335193817"></a><a name="p151481335193817"></a>Аутентифицирует устройство-партнера.</p>
</td>
</tr>
<tr id="row633283153012"><td class="cellrowborder" valign="top" width="57.38999999999999%" headers="mcps1.2.3.1.1 "><p id="p12534111115352"><a name="p12534111115352"></a><a name="p12534111115352"></a>int32_t ProcessData(int64_t authReqId, const uint8_t *data, uint32_t data_len,</p>
<p id="p16534181113358"><a name="p16534181113358"></a><a name="p16534181113358"></a>const DeviceAuthCallback *gaCallback)</p>
</td>
<td class="cellrowborder" valign="top" width="42.61%" headers="mcps1.2.3.1.2 "><p id="p1633173173012"><a name="p1633173173012"></a><a name="p1633173173012"></a>Обрабатывает данные аутентификации.</p>
</td>
</tr>
</tbody>
</table>## Вовлечённые репозитории<a name="section1371113476307"></a>**Подсистема безопасности**
[security\_device\_auth](https://gitee.com/openharmony/security_device_auth)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )