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
使用本地节点的制造商证明私钥生成制造商证明签名并对其进行编码。

公共函数

编码信息

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

对本地节点的 Weave 制造商证明信息进行编码。

被调用时,该实现应编写一个结构,其中包含用于节点制造商证明的信息。制造商证明信息应以 TLV 结构的形式写入提供的 TLV 写入者,并使用 Security Profile 特定的标记。

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 customKMAC_GetCertReq

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