更新时间:2021-03-18 GMT+08:00
分享

Graph::SetPublicKeyForSignatureEncryption

该接口用于设置公钥,该公钥用于对Device侧Matrix要加载的*.so文件进行数字签名验证。需要在创建Graph之前调用该接口。该接口在graph.h中定义。

数字签名采用的算法为SHA256withRSA,本组件只提供数字签名的验证功能,加签的功能需要由用户自己基于该算法进行对需要的SO进行签名,签名文件在host的存放路径需要与SO在统一目录,并且签名文件的名称为SO名称+“.signature”,比如SO的名称为“libhosttodevice.so”,签名文件的名称应为“libhosttodevice.so.signature”。

如果不调用Graph::SetPublicKeyForSignatureEncryption接口或者调用Graph::SetPublicKeyForSignatureEncryption接口的返回值不是HIAI_OK,则Matrix无法设置公钥,Device侧不会启用签名校验机制,因此无法通过数字签名识别出可能被篡改的*.so文件。

函数格式

static HIAI_StatusT Graph::SetPublicKeyForSignatureEncryption(const std::string& publicKey)

参数说明

参数

说明

取值范围

publicKey

数字签名验证需要的公钥

-

返回值

返回的部分错误码请参见“错误码示例”中的“错误码”列。

错误码示例

序号

错误码

错误码描述

1

HIAI_OK

running ok

std::string publicKey =
"-----BEGIN RSA PUBLIC KEY-----\n"
"MIIBCAKCAQEAt+kdmu8CdViw2xHlh/JWXOl/0AitDgYGd+9RadULGZmj0tt/UQLv\n"
"EYPZaXC8E0a9e97kqfg/ZHinu04XG5RhXv2J0kwkhuBAeCCllefvrQy5OBRqdLYq\n"
"EZe8wUO0adSMDsLbPL52b+NdO9/zX+MUzvsBzitWJbiH96s4xCiEERX87/uQfr6F\n"
"lHLtrNtooeF2VmxOm3n0yzh4kcSouLgb/O0+v0I+fnR+CTNG95IvzDNOYLWD6ZkL\n"
"c7JyIYFZA0CNx9SlPhqbrfjOV5XSG3g3CW0TopUDfHyhAgZt5vACMpeDDx+89tg2\n"
"RfT4M9DH/qKzkLlOURvsMShRMD6/PwzsPwIBAw==\n"
"-----END RSA PUBLIC KEY-----";
auto ret = Graph::SetPublicKeyForSignatureEncryption(publicKey);
分享:

    相关文档

    相关产品