nl::Weave::Profiles::Security::CertProvisioning::WeaveNodeMfrAttestDelegate

这是一个抽象类。

#include <src/lib/profiles/security/WeaveCertProvisioning.h>

在 Weave 节点制造商认证期间,系统会将平台专用操作委托给该抽象接口。

摘要

公共函数

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
为本地节点编码 Weave 制造商认证信息。
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
使用本地节点的制造商认证私钥生成并编码制造商认证签名。

公共函数

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

为本地节点编码 Weave 制造商认证信息。

被调用时,实现应写入包含用于节点制造商认证的信息的结构。制造商认证信息应以 TLV 结构的形式使用安全配置文件专用标记写入所提供的 TLV 写入器。

GenerateAndEncodeMASig

virtual WEAVE_ERROR GenerateAndEncodeMASig(
  const uint8_t *data,
  uint16_t dataLen,
  TLVWriter & writer
)=0

使用本地节点的制造商证明私钥生成制造商证明签名并对其进行编码。

被调用时,实现必须使用节点的制造商认证私钥对给定哈希值计算签名。

首先,应使用以下标记将标识制造商认证签名算法的枚举值以无符号整数的形式写入所提供的 TLV 写入器:kTag_GetCertReqMsg_MfrAttestSigAlgo 合法枚举值取自 kOID_SigAlgo_* 常量命名空间。

然后使用以下标记之一,以 ECDSASignature、RSASignature、HMACSignature 或自定义结构的形式将生成的签名写入所提供的 TLV 写入者:kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_GetCertReqMs specific

注意:如果节点的相应椭圆曲线私钥存储在本地缓冲区中,则 GenerateAndEncodeWeaveECDSASignature() 实用函数对于实现此方法非常有用。