一、概述
HiChain机制是OpenHarmony实现设备互联安全的一种协议机制,本文将对软总线模块涉及到的相关HiChain的接口进行一个简单的分析。处理逻辑是承接上文 OpenHarmony深度解读之分布式软总线:authmanager模块(3)/设备身份认证过程。
二、源码分析
- 在之前的文章的源码分析中,首先判断了数据包的module字段如果是MODULE_AUTH_SDK,就调用AuthProcessReceivedData函数继续处理,该函数如下:
/*
函数功能:处理身份认证过程中接收到的数据
函数参数:
sessionId:会话id
data:数据负载部分首地址
dataLen:数据长度
函数返回值:无
详细:
*/
static void AuthProcessReceivedData(uint32_t sessionId, const char *data, int dataLen)
{
if (g_hcHandle == NULL) {
//如果hichain实例对象为空,则进行初始化
if (AuthInitHiChain(sessionId) != 0) {
//初始化HiChain
AuthDelAuthSessionBySessionId(sessionId);//根据sessionId删除该认证会话
return;
}
}
struct uint8_buff request = {
(uint8_t *)data, dataLen, dataLen};//封装request数据
if (receive_data(g_hcHandle, &request) != HC_OK) {
//在其他模块