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 制造商证明信息进行编码。

被调用时,该实现应编写一个结构,其中包含用于节点制造商认证的信息。应使用 Security 配置文件专用标记,以 TLV 结构的形式将制造商认证信息写入所提供的 TLV 写入者。

GenerateAndEncodeMASig

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

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

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

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

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

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