nl::Weave::Profiles::Security

Không gian tên này bao gồm tất cả các giao diện trong hồ sơ Bảo mật của Weave dành cho hồ sơ Weave.

Tóm tắt

Bảng liệt kê

@235 enum
Cờ mục đích khoá chứng chỉ X.509.
@236 enum
Cờ sử dụng khoá chứng chỉ X.509.
@237 enum
Dệt cờ chứng chỉ.
@238 enum
Cờ giải mã chứng chỉ dệt.
@239 enum
Dệt cờ xác thực chứng chỉ.
@240 enum
@280 enum
@281 enum
@282 enum
@283 enum
@284 enum
@285 enum
@286 enum
@287 enum
@288 enum
@289 enum

Typedef

GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig) typedef
Tạo chữ ký ECDSA bằng khoá riêng tư của nút Weave cục bộ.

Biến

gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
const char

Hàm

CASECertInfoFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen)
Đọc Mã truy cập Weave và tạo cấu trúc Thông tin chứng chỉ CASE TLV chứa các chứng chỉ từ mã thông báo truy cập.
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
Đọc Mã truy cập Weave và ghi cấu trúc Thông tin chứng chỉ CASE TLV chứa các chứng chỉ từ mã thông báo truy cập.
ConvertAuthorityKeyIdentifierExtension(ASN1Reader & reader, TLVWriter & writer)
ConvertCertificate(ASN1Reader & reader, TLVWriter & writer)
ConvertDistinguishedName(ASN1Reader & reader, TLVWriter & writer, uint64_t tag)
ConvertECDSASignature_DERToWeave(const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag)
ConvertExtension(ASN1Reader & reader, TLVWriter & writer)
ConvertExtensions(ASN1Reader & reader, TLVWriter & writer)
ConvertSubjectPublicKeyInfo(ASN1Reader & reader, TLVWriter & writer)
ConvertValidity(ASN1Reader & reader, TLVWriter & writer)
ConvertWeaveCertToX509Cert(const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen)
ConvertX509CertToWeaveCert(const uint8_t *x509Cert, uint32_t x509CertLen, uint8_t *weaveCertBuf, uint32_t weaveCertBufSize, uint32_t & weaveCertLen)
DecodeConvertAuthorityKeyIdentifierExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertBasicConstraintsExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertCert(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertDN(TLVReader & reader, ASN1Writer & writer, WeaveDN & dn)
DecodeConvertECDSASignature(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertExtendedKeyUsageExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertExtensions(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertKeyUsageExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertRSASignature(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertSubjectKeyIdentifierExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertSubjectPublicKeyInfo(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertTBSCert(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeConvertValidity(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
DecodeCopyECDSASignature_DER(const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig)
DecodeWeaveCert(const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData)
DecodeWeaveCert(TLVReader & reader, WeaveCertificateData & certData)
DecodeWeaveDN(TLVReader & reader, WeaveDN & dn)
DecodeWeaveECDSASignature(TLVReader & reader, EncodedECDSASignature & sig)
DecodeWeaveECPrivateKey(const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey)
NL_DLL_EXPORT WEAVE_ERROR
DescribeWeaveCertId(OID attrOID, uint64_t weaveCertId)
const char *
DetermineCertType(WeaveCertificateData & cert)
Xác định loại chung của chứng chỉ Dệt.
EncodeWeaveECDSASignature(TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag)
EncodeWeaveECPrivateKey(uint32_t weaveCurveId, const EncodedECPublicKey *pubKey, const EncodedECPrivateKey & privKey, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outLen)
NL_DLL_EXPORT WEAVE_ERROR
ExtractCertFromAccessToken(TLVReader & reader, TLVWriter & writer, uint64_t tag)
Đọc Weave Access Token (Mã truy cập Weave) và trích xuất Chứng chỉ mã truy cập.
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
Đọc Weave Access Token (Mã truy cập Weave) và trích xuất khoá riêng tư.
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
Đọc Weave Access Token (Mã truy cập Weave) và trích xuất khoá riêng tư.
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
Tạo và mã hoá chữ ký Weave ECDSA.
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
NL_DLL_EXPORT WEAVE_ERROR
Tạo chứng chỉ thiết bị hoạt động của Weave.
GetWeaveSignatureAlgo(const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID)
Indent(FILE *out, uint16_t count)
void
InsertRelatedCertificatesIntoWeaveSignature(uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen)
IsCertificateExtensionTag(uint64_t tag)
bool
IsCurveInSet(uint32_t curveId, uint8_t curveSet)
bool
IsSupportedCurve(uint32_t curveId)
bool
IsWeaveIdX509Attr(OID oid)
bool
IsWeaveX509Attr(OID oid)
bool
LoadAccessTokenCerts(const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
Tải các chứng chỉ trong mã truy cập vào một bộ chứng chỉ Weave.
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
Tải các chứng chỉ trong mã truy cập vào một bộ chứng chỉ Weave.
MakeDeviceCredentialHash(const char *serialNum, size_t serialNumLen, const char *deviceId, size_t deviceIdLen, const char *deviceSecret, size_t deviceSecretLen, char *hashBuf, size_t hashBufSize)
NL_DLL_EXPORT WEAVE_ERROR
Tạo hàm băm xác minh (ở định dạng base-64) cho một bộ thông tin đăng nhập thiết bị Thermostat nhất định.
MakeWeaveProvisioningHash(uint64_t nodeId, const char *weaveCert, size_t weaveCertLen, const char *weavePrivKey, size_t weavePrivKeyLen, const char *pairingCode, size_t pairingCodeLen, char *hashBuf, size_t hashBufSize)
NL_DLL_EXPORT WEAVE_ERROR
Tạo hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin cấp phép nhất định của Weave.
OIDToWeaveCurveId(ASN1::OID curveOID)
uint32_t
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
NL_DLL_EXPORT WEAVE_ERROR
Chuyển đổi ngày/giờ của chứng chỉ (ở dạng cấu trúc giờ toàn cầu ASN.1) thành ngày/giờ chứng chỉ đóng gói.
PackedCertDateToTime(uint16_t packedDate)
NL_DLL_EXPORT uint32_t
Chuyển đổi ngày của chứng chỉ đóng gói thành ngày/giờ đóng gói tương ứng của chứng chỉ, trong đó phần thời gian của giá trị được thiết lập là 00:00:00.
PackedCertTimeToDate(uint32_t packedTime)
NL_DLL_EXPORT uint16_t
Chuyển đổi ngày/giờ của chứng chỉ đóng gói thành ngày/giờ của chứng chỉ đóng gói.
ParseWeaveIdAttribute(ASN1Reader & reader, uint64_t & weaveIdOut)
PrintCert(FILE *out, const WeaveCertificateData & cert, const WeaveCertificateSet *certSet, uint16_t indent, bool verbose)
NL_DLL_EXPORT void
PrintCertArray(FILE *out, TLVReader & reader, uint16_t indent)
PrintCertReference(FILE *out, TLVReader & reader, uint16_t indent)
PrintCertType(FILE *out, uint8_t certType)
void
PrintCertValidationResults(FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent)
NL_DLL_EXPORT void
PrintECDSASignature(FILE *out, TLVReader & reader, uint16_t indent)
PrintHexField(FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data)
void
PrintPackedDate(FILE *out, uint16_t t)
void
PrintPackedTime(FILE *out, uint32_t t)
void
PrintWeaveDN(FILE *out, const WeaveDN & dn)
void
PrintWeaveDN(FILE *out, TLVReader & reader)
PrintWeaveSignature(FILE *out, TLVReader & reader, uint16_t indent)
SecondsSinceEpochToPackedCertTime(uint32_t secondsSinceEpoch)
NL_DLL_EXPORT uint32_t
Chuyển đổi số giây kể từ 1970-01-01 00:00:00 UTC thành ngày/giờ chứng chỉ đóng gói.
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
NL_DLL_EXPORT WEAVE_ERROR
Giải nén ngày/giờ của chứng chỉ đã đóng gói vào cấu trúc thời gian toàn cầu ASN.1.
VerifyWeaveSignature(const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext)
NL_DLL_EXPORT WEAVE_ERROR
VerifyWeaveSignature(const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, OID expectedSigAlgoOID, WeaveCertificateSet & certSet, ValidationContext & certValidContext)
NL_DLL_EXPORT WEAVE_ERROR
WeaveCurveIdToOID(uint32_t weaveCurveId)
NL_DLL_EXPORT OID

Lớp

nl::Weave::Profiles::Security::CertificateKeyId
nl::Weave::Profiles::Security::ValidationContext
nl::Weave::Profiles::Security::WeaveCertificateData
nl::Weave::Profiles::Security::WeaveCertificateSet
nl::Weave::Profiles::Security::WeaveDN
nl::Weave::Profiles::Security::WeaveProvisioningBundle
nl::Weave::Profiles::Security::WeaveSignatureGenerator

Tạo một WeaveSignature bằng khoá riêng tư trong bộ nhớ.

nl::Weave::Profiles::Security::WeaveSignatureGeneratorBase

Cung cấp chức năng chung để tạo chữ ký Weave.

Không gian tên

nl::Weave::Profiles::Security::AppKeys

Không gian tên này bao gồm tất cả các giao diện trong thư viện khoá ứng dụng Weave trong hồ sơ bảo mật của Weave.

nl::Weave::Profiles::Security::CASE

Không gian tên này bao gồm tất cả các giao diện trong giao diện Weave dành cho giao thức Thiết lập phiên xác thực chứng chỉ (CASE) trong hồ sơ bảo mật của Weave.

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

Không gian tên này bao gồm tất cả các giao diện trong giao thức Weave dành cho giao thức Cấp phép chứng chỉ Weave trong hồ sơ bảo mật của Weave.

nl::Weave::Profiles::Security::KeyExport

Không gian tên này bao gồm tất cả các giao diện trong Weave dành cho giao thức xuất khoá trong hồ sơ bảo mật của Weave.

nl::Weave::Profiles::Security::PASE

Không gian tên này bao gồm tất cả các giao diện trong giao diện Weave dành cho giao thức Thiết lập phiên xác thực mật khẩu (PASE) trong hồ sơ bảo mật của Weave.

nl::Weave::Profiles::Security::Passcodes

Không gian tên này bao gồm tất cả các giao diện trong thư viện mật mã của Weave trong hồ sơ bảo mật của Weave.

nl::Weave::Profiles::Security::TAKE

Không gian tên này bao gồm tất cả giao diện trong giao thức Weave dành cho giao thức Trao đổi khoá đã xác thực mã thông báo (Take) trong hồ sơ Bảo mật của Weave.

Bảng liệt kê

@235

 @235

Cờ mục đích khoá chứng chỉ X.509.

@236

 @236

Cờ sử dụng khoá chứng chỉ X.509.

@237

 @237

Dệt cờ chứng chỉ.

Chứa thông tin về chứng chỉ đã được tải vào đối tượng WeaveCertSet.

@238

 @238

Cờ giải mã chứng chỉ dệt.

Chứa thông tin chỉ định cách giải mã chứng chỉ.

@239

 @239

Dệt cờ xác thực chứng chỉ.

Chứa thông tin chỉ định cách xác thực chứng chỉ.

@240

 @240

@280

 @280

@281

 @281

@282

 @282

@283

 @283

@284

 @284

@285

 @285

@286

 @286

@287

 @287

@288

 @288

@289

 @289

Typedef

GenerateECDSASignatureFunct

WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)

Tạo chữ ký ECDSA bằng khoá riêng tư của nút Weave cục bộ.

Khi được gọi, các quá trình triển khai phải tính toán chữ ký trên giá trị băm đã cho bằng cách sử dụng khoá riêng tư của nút.

Thông tin chi tiết
Các tham số
[in] hash
Vùng đệm chứa hàm băm của chứng chỉ cần ký.
[in] hashLen
Độ dài tính bằng byte của hàm băm.
[in] ecdsaSig
Tham chiếu đến đối tượng chữ ký ecdsa, nơi lưu trữ kết quả của hàm này.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thao tác thành công.

Biến

gProvisioningBundleKDFSalt

const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"

Hàm

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  const uint8_t *accessToken,
  uint32_t accessTokenLen,
  uint8_t *certInfoBuf,
  uint16_t certInfoBufSize,
  uint16_t & certInfoLen
)

Đọc Mã truy cập Weave và tạo cấu trúc Thông tin chứng chỉ CASE TLV chứa các chứng chỉ từ mã thông báo truy cập.

Hàm này giải mã một Mã truy cập Weave nhất định và mã hoá TLV cho cấu trúc Thông tin chứng chỉ CASE của Weave. Trường Entitycertification trong cấu trúc CertificateInfo được đặt thành chứng chỉ mã thông báo truy cập và trường LinkedChứng chỉ (nếu có) được đặt thành trường tương ứng trong mã truy cập.

Thông tin chi tiết
Các tham số
accessToken
Con trỏ đến vùng đệm chứa Mã truy cập Weave đã mã hoá.
accessTokenLen
Độ dài của mã truy cập đã mã hoá.
certInfoBuf
Con trỏ đến một vùng đệm mà cấu trúc thông tin chứng chỉ CASE sẽ được mã hoá trong đó.
certInfoBufSize
Kích thước của vùng đệm do certInfoBuf trỏ đến.
certInfoLen
Tham chiếu đến một số nguyên sẽ được đặt thành độ dài của cấu trúc thông tin chứng chỉ được mã hoá. LƯU Ý: Giá trị này chỉ được đặt khi hàm trả về thành công.
Giá trị trả về
WEAVE_NO_ERROR
Nếu cấu trúc thông tin chứng chỉ CASE truy cập đã được mã hóa thành công.
tlv-errors
Lỗi dệt liên quan đến việc đọc hoặc ghi TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Đọc Mã truy cập Weave và ghi cấu trúc Thông tin chứng chỉ CASE TLV chứa các chứng chỉ từ mã thông báo truy cập.

Hàm này đọc Mã truy cập Weave từ một TLVReader nhất định và ghi TLV cho cấu trúc Thông tin chứng chỉ CASE của Weave vào TLVWriter. Trường Entitycertification trong cấu trúc CertificateInfo được đặt thành chứng chỉ mã thông báo truy cập và trường LinkedChứng chỉ (nếu có) được đặt thành trường tương ứng trong mã truy cập.

Thông tin chi tiết
Các tham số
[in] reader
Một TLVReader được định vị trên Mã truy cập Weave.
[in] writer
TLVWriter được dùng để ghi lại thông tin chứng chỉ CASE đầu ra.
Giá trị trả về
WEAVE_NO_ERROR
Nếu cấu trúc thông tin chứng chỉ CASE truy cập đã được mã hóa thành công.
tlv-errors
Lỗi dệt liên quan đến việc đọc hoặc ghi TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

ConvertAuthorityKeyIdentifierExtension

WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertCertificate

WEAVE_ERROR ConvertCertificate(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertDistinguishedName

WEAVE_ERROR ConvertDistinguishedName(
  ASN1Reader & reader,
  TLVWriter & writer,
  uint64_t tag
)

ConvertECDSASignature_DERToWeave

WEAVE_ERROR ConvertECDSASignature_DERToWeave(
  const uint8_t *sigBuf,
  uint8_t sigLen,
  TLVWriter & writer,
  uint64_t tag
)

ConvertExtension

WEAVE_ERROR ConvertExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertExtensions

WEAVE_ERROR ConvertExtensions(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertSubjectPublicKeyInfo

WEAVE_ERROR ConvertSubjectPublicKeyInfo(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertValidity

WEAVE_ERROR ConvertValidity(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertWeaveCertToX509Cert

WEAVE_ERROR ConvertWeaveCertToX509Cert(
  const uint8_t *weaveCert,
  uint32_t weaveCertLen,
  uint8_t *x509CertBuf,
  uint32_t x509CertBufSize,
  uint32_t & x509CertLen
)

ConvertX509CertToWeaveCert

WEAVE_ERROR ConvertX509CertToWeaveCert(
  const uint8_t *x509Cert,
  uint32_t x509CertLen,
  uint8_t *weaveCertBuf,
  uint32_t weaveCertBufSize,
  uint32_t & weaveCertLen
)

DecodeConvertAuthorityKeyIdentifierExtension

WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertBasicConstraintsExtension

WEAVE_ERROR DecodeConvertBasicConstraintsExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertCert

WEAVE_ERROR DecodeConvertCert(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertDN

WEAVE_ERROR DecodeConvertDN(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveDN & dn
)

DecodeConvertECDSASignature

WEAVE_ERROR DecodeConvertECDSASignature(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertExtendedKeyUsageExtension

WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertExtension

WEAVE_ERROR DecodeConvertExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertExtensions

WEAVE_ERROR DecodeConvertExtensions(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertKeyUsageExtension

WEAVE_ERROR DecodeConvertKeyUsageExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertRSASignature

WEAVE_ERROR DecodeConvertRSASignature(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertSubjectKeyIdentifierExtension

WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertSubjectPublicKeyInfo

WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertTBSCert

WEAVE_ERROR DecodeConvertTBSCert(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertValidity

WEAVE_ERROR DecodeConvertValidity(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeCopyECDSASignature_DER

WEAVE_ERROR DecodeCopyECDSASignature_DER(
  const uint8_t *sigBuf,
  uint8_t sigLen,
  EncodedECDSASignature & sig
)

DecodeWeaveCert

WEAVE_ERROR DecodeWeaveCert(
  const uint8_t *weaveCert,
  uint32_t weaveCertLen,
  WeaveCertificateData & certData
)

DecodeWeaveCert

WEAVE_ERROR DecodeWeaveCert(
  TLVReader & reader,
  WeaveCertificateData & certData
)

DecodeWeaveDN

WEAVE_ERROR DecodeWeaveDN(
  TLVReader & reader,
  WeaveDN & dn
)

DecodeWeaveECDSASignature

WEAVE_ERROR DecodeWeaveECDSASignature(
  TLVReader & reader,
  EncodedECDSASignature & sig
)

DecodeWeaveECPrivateKey

NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey(
  const uint8_t *buf,
  uint32_t len,
  uint32_t & weaveCurveId,
  EncodedECPublicKey & pubKey,
  EncodedECPrivateKey & privKey
)

DescribeWeaveCertId

const char * DescribeWeaveCertId(
  OID attrOID,
  uint64_t weaveCertId
)

DetermineCertType

WEAVE_ERROR DetermineCertType(
  WeaveCertificateData & cert
)

Xác định loại chung của chứng chỉ Dệt.

Chức năng này thực hiện đánh giá chung về một loại chứng chỉ dựa trên cấu trúc của tên phân biệt chủ thể và các phần mở rộng hiện có. Các ứng dụng được phép ghi đè bài đánh giá này bằng cách đặt certification.CertType thành một giá trị khác, bao gồm cả giá trị do ứng dụng xác định.

Nói chung, các ứng dụng sẽ chỉ tin cậy chứng chỉ của ứng dụng ngang hàng nếu chứng chỉ đó liên kết với một chứng chỉ gốc đáng tin cậy. Tuy nhiên, loại được chỉ định cho chứng chỉ có thể ảnh hưởng đến bản chất của sự tin cậy này, ví dụ: cho phép hoặc không cho phép truy cập vào một số tính năng nhất định. Do đó, những thay đổi đối với thuật toán này có thể có ảnh hưởng RẤT QUAN TRỌNG và TIỀM NĂNG đối với khả năng bảo mật tổng thể của hệ thống. Bạn không nên thực hiện các thay đổi này khi chưa hiểu rõ các hệ quả.

LƯU Ý: Bạn không thể phân biệt chứng chỉ mã thông báo truy cập chỉ bằng cấu trúc. Do đó, hàm này không bao giờ đặt certification.CertType = kCertType_AccessToken.

EncodeWeaveECDSASignature

WEAVE_ERROR EncodeWeaveECDSASignature(
  TLVWriter & writer,
  EncodedECDSASignature & sig,
  uint64_t tag
)

EncodeWeaveECPrivateKey

NL_DLL_EXPORT WEAVE_ERROR EncodeWeaveECPrivateKey(
  uint32_t weaveCurveId,
  const EncodedECPublicKey *pubKey,
  const EncodedECPrivateKey & privKey,
  uint8_t *outBuf,
  uint32_t outBufSize,
  uint32_t & outLen
)

ExtractCertFromAccessToken

WEAVE_ERROR ExtractCertFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer,
  uint64_t tag
)

Đọc Weave Access Token (Mã truy cập Weave) và trích xuất Chứng chỉ mã truy cập.

Hàm này đọc Mã truy cập Weave từ TLVReader và ghi Chứng chỉ Mã truy cập vào TLVWriter được chỉ định.

Thông tin chi tiết
Các tham số
[in] reader
Một TLVReader được định vị trên Mã truy cập Weave.
[in] writer
Một TLVWriter để viết chứng chỉ.
[in] tag
Thẻ TLV được sử dụng khi viết chứng chỉ.
Giá trị trả về
WEAVE_NO_ERROR
Nếu cấu trúc thông tin chứng chỉ CASE truy cập đã được mã hóa thành công.
tlv-errors
Lỗi dệt liên quan đến việc đọc hoặc ghi TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

ExtractPrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  const uint8_t *accessToken,
  uint32_t accessTokenLen,
  uint8_t *privKeyBuf,
  uint16_t privKeyBufSize,
  uint16_t & privKeyLen
)

Đọc Weave Access Token (Mã truy cập Weave) và trích xuất khoá riêng tư.

Hàm này giải mã một Weave Access Token nhất định và trích xuất trường khoá riêng tư từ mã thông báo.

Thông tin chi tiết
Các tham số
accessToken
Con trỏ đến vùng đệm chứa Mã truy cập Weave đã mã hoá.
accessTokenLen
Độ dài của mã truy cập đã mã hoá.
privKeyBuf
Con trỏ trỏ đến vùng đệm nơi cấu trúc khoá riêng tư sẽ được mã hoá.
privKeyBufSize
Kích thước của vùng đệm do privKeyBuf trỏ đến.
privKeyLen
Tham chiếu đến một số nguyên sẽ được đặt thành độ dài của khoá riêng tư. LƯU Ý: Giá trị này chỉ được đặt khi hàm trả về thành công.
Giá trị trả về
WEAVE_NO_ERROR
Nếu khóa riêng tư được trích xuất thành công.
tlv-errors
Lỗi dệt liên quan đến việc đọc hoặc ghi TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

ExtractPrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Đọc Weave Access Token (Mã truy cập Weave) và trích xuất khoá riêng tư.

Hàm này giải mã một Weave Access Token nhất định và trích xuất trường khoá riêng tư từ mã thông báo.

Thông tin chi tiết
Các tham số
[in] reader
Một TLVReader được định vị trên Mã truy cập Weave.
[in] writer
Một TLVWriter mà khoá riêng tư sẽ được ghi.
Giá trị trả về
WEAVE_NO_ERROR
Nếu khóa riêng tư được trích xuất thành công.
tlv-errors
Lỗi dệt liên quan đến việc đọc hoặc ghi TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

GenerateAndEncodeWeaveECDSASignature

WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature(
  TLVWriter & writer,
  uint64_t tag,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  const uint8_t *signingKey,
  uint16_t signingKeyLen
)

Tạo và mã hoá chữ ký Weave ECDSA.

Tính toán chữ ký ECDSA bằng cách sử dụng một khoá riêng tư nhất định và hàm băm tin nhắn, đồng thời viết chữ ký dưới dạng cấu trúc Weave ECDSASignature cho người ghi TLV được chỉ định với thẻ đã cho.

Thông tin chi tiết
Các tham số
[in] writer
Đối tượng TLVWriter mà chữ ký mã hoá cần được ghi vào đó.
[in] tag
TLV để được liên kết với cấu trúc chữ ký đã mã hoá.
[in] msgHash
Vùng đệm chứa hàm băm của thông báo cần ký.
[in] msgHashLen
Độ dài tính bằng byte của hàm băm thông báo.
[in] signingKey
Vùng đệm chứa khoá riêng tư dùng để tạo chữ ký. Khoá riêng tư dự kiến sẽ được mã hoá dưới dạng cấu trúc Weave EllipticCurvePrivacyKey TLV.
[in] signingKeyLen
Độ dài tính bằng byte của khoá riêng tư đã mã hoá.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thao tác thành công.
other
Các mã lỗi Weave khác liên quan đến việc giải mã khoá riêng tư, tạo chữ ký hoặc mã hoá chữ ký.

GenerateOperationalDeviceCert

NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert(
  uint64_t deviceId,
  EncodedECPublicKey & devicePubKey,
  uint8_t *cert,
  uint16_t certBufSize,
  uint16_t & certLen,
  GenerateECDSASignatureFunct genCertSignature
)

Tạo chứng chỉ thiết bị hoạt động của Weave.

Hàm này tạo chứng chỉ hoạt động tự ký của Weave được mã hoá theo định dạng TLV của Weave.

Thông tin chi tiết
Các tham số
deviceId
Mã thiết bị dệt.
devicePubKey
Dệt khoá công khai hoạt động của thiết bị.
cert
Con trỏ trỏ đến vùng đệm nơi ghi chứng chỉ đã tạo.
certBufSize
Độ dài tính bằng byte của vùng đệm chứng chỉ được cung cấp.
certLen
Độ dài tính bằng byte của chứng chỉ đã tạo.
genCertSignature
Con trỏ đến một hàm tạo chữ ký ECDSA trên hàm băm chứng chỉ đã cho bằng cách sử dụng khoá riêng tư đang hoạt động trên thiết bị.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chứng chỉ Weave đã được tạo thành công.

GetWeaveSignatureAlgo

WEAVE_ERROR GetWeaveSignatureAlgo(
  const uint8_t *sig,
  uint16_t sigLen,
  OID & sigAlgoOID
)

Thụt lề

void Indent(
  FILE *out,
  uint16_t count
)

InsertRelatedCertificatesIntoWeaveSignature

WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature(
  uint8_t *sigBuf,
  uint16_t sigLen,
  uint16_t sigBufLen,
  const uint8_t *relatedCerts,
  uint16_t relatedCertsLen,
  uint16_t & outSigLen
)

IsCertificateExtensionTag

bool IsCertificateExtensionTag(
  uint64_t tag
)

IsCurveInSet

bool IsCurveInSet(
  uint32_t curveId,
  uint8_t curveSet
)

IsSupportedCurve

bool IsSupportedCurve(
  uint32_t curveId
)

IsWeaveIdX509Attr

bool IsWeaveIdX509Attr(
  OID oid
)

IsWeaveX509Attr

bool IsWeaveX509Attr(
  OID oid
)

LoadAccessTokenCerts

WEAVE_ERROR LoadAccessTokenCerts(
  const uint8_t *accessToken,
  uint32_t accessTokenLen,
  WeaveCertificateSet & certSet,
  uint16_t decodeFlags,
  WeaveCertificateData *& accessTokenCert
)

Tải các chứng chỉ trong mã truy cập vào một bộ chứng chỉ Weave.

Hàm này giải mã một mã truy cập Weave nhất định và tải chứng chỉ mã truy cập vào đối tượng bộ chứng chỉ Weave đã chỉ định. Nếu mã truy cập chứa một hoặc nhiều chứng chỉ có liên quan, các mã này cũng được tải vào bộ chứng chỉ.

Thông tin chi tiết
Các tham số
accessToken
Con trỏ đến vùng đệm chứa Mã truy cập Weave đã mã hoá.
accessTokenLen
Độ dài của mã truy cập đã mã hoá.
certSet
Chứng chỉ được đặt mà chứng chỉ mã thông báo truy cập sẽ được tải vào.
decodeFlags
Cờ giải mã chứng chỉ sẽ được sử dụng khi tải chứng chỉ.
accessTokenCert
Tham chiếu đến một con trỏ sẽ được đặt thành cấu trúc dữ liệu chứng chỉ Weave cho chứng chỉ mã thông báo truy cập. LƯU Ý: Con trỏ này sẽ chỉ được đặt nếu hàm trả về thành công.
Giá trị trả về
WEAVE_NO_ERROR
Liệu chứng chỉ mã truy cập đã được tải thành công hay chưa.
tlv-errors
Lỗi dệt liên quan đến việc đọc TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

LoadAccessTokenCerts

WEAVE_ERROR LoadAccessTokenCerts(
  TLVReader & reader,
  WeaveCertificateSet & certSet,
  uint16_t decodeFlags,
  WeaveCertificateData *& accessTokenCert
)

Tải các chứng chỉ trong mã truy cập vào một bộ chứng chỉ Weave.

Hàm này đọc mã thông báo truy cập Weave từ một TLVReader nhất định và tải chứng chỉ mã truy cập vào đối tượng bộ chứng chỉ Weave được chỉ định. Nếu mã truy cập chứa một hoặc nhiều chứng chỉ có liên quan, các mã này cũng được tải vào bộ chứng chỉ.

Thông tin chi tiết
Các tham số
reader
Đối tượng TLVReader nằm ở vị trí ngay trước Mã truy cập Weave.
certSet
Chứng chỉ được đặt mà chứng chỉ mã thông báo truy cập sẽ được tải vào.
decodeFlags
Cờ giải mã chứng chỉ sẽ được sử dụng khi tải chứng chỉ.
accessTokenCert
Tham chiếu đến một con trỏ sẽ được đặt thành cấu trúc dữ liệu chứng chỉ Weave cho chứng chỉ mã thông báo truy cập. LƯU Ý: Giá trị này chỉ được đặt khi hàm trả về thành công.
Giá trị trả về
WEAVE_NO_ERROR
Liệu chứng chỉ mã truy cập đã được tải thành công hay chưa.
tlv-errors
Lỗi dệt liên quan đến việc đọc TLV.
cert-errors
Lỗi Weave liên quan đến việc giải mã chứng chỉ Weave.
platform-errors
Các lỗi khác theo nền tảng cụ thể.

MakeDeviceCredentialHash

NL_DLL_EXPORT WEAVE_ERROR MakeDeviceCredentialHash(
  const char *serialNum,
  size_t serialNumLen,
  const char *deviceId,
  size_t deviceIdLen,
  const char *deviceSecret,
  size_t deviceSecretLen,
  char *hashBuf,
  size_t hashBufSize
)

Tạo hàm băm xác minh (ở định dạng base-64) cho một bộ thông tin đăng nhập thiết bị Thermostat nhất định.

Thông tin chi tiết
Các tham số
[in] serialNum
Con trỏ đến vùng đệm chứa số sê-ri của thiết bị.
[in] serialNumLen
Độ dài của chuỗi số sê-ri.
[in] deviceId
Con trỏ đến vùng đệm chứa mã nhận dạng của thiết bị.
[in] deviceIdLen
Độ dài của mã thiết bị.
[in] deviceSecret
Con trỏ đến một vùng đệm chứa khoá bí mật của thiết bị.
[in] deviceSecretLen
Độ dài của mã thông báo bí mật của thiết bị.
[in,out] hashBuf
Con trỏ đến vùng đệm sẽ nhận giá trị băm xác minh, ở định dạng base-64. Chuỗi đầu ra sẽ bị kết thúc rỗng. Bộ đệm này ít nhất phải lớn bằng kDeviceCredentialHashLength + 1.
[in] hashBufSize
Kích thước tính bằng byte của vùng đệm được trỏ đến bởi hashBuf.
Giá trị trả về
WEAVE_NO_ERROR
Nếu phương thức thành công.
WEAVE_ERROR_INVALID_STRING_LENGTH
Nếu một trong các giá trị nhập vào quá dài (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu vùng đệm được cung cấp quá nhỏ nên không thể lưu giữ giá trị hàm băm đã tạo.

MakeWeaveProvisioningHash

NL_DLL_EXPORT WEAVE_ERROR MakeWeaveProvisioningHash(
  uint64_t nodeId,
  const char *weaveCert,
  size_t weaveCertLen,
  const char *weavePrivKey,
  size_t weavePrivKeyLen,
  const char *pairingCode,
  size_t pairingCodeLen,
  char *hashBuf,
  size_t hashBufSize
)

Tạo hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin cấp phép nhất định của Weave.

Thông tin chi tiết
Các tham số
[in] nodeId
Mã nút Weave của thiết bị.
[in] weaveCert
Con trỏ đến vùng đệm chứa chứng chỉ thiết bị Weave ở định dạng base-64.
[in] weaveCertLen
Độ dài của giá trị chứng chỉ được chỉ ra bởi WeaveCert.
[in] weavePrivKey
Con trỏ đến một vùng đệm chứa khoá riêng tư của thiết bị Weave ở định dạng base-64.
[in] weavePrivKeyLen
Độ dài của giá trị khoá riêng tư được WeavePrivKey trỏ đến.
[in] pairingCode
Con trỏ đến một vùng đệm chứa mã ghép nối thiết bị.
[in] pairingCodeLen
Độ dài của giá trị mã ghép nối được trỏ đến bằngPairCode.
[in,out] hashBuf
Con trỏ đến vùng đệm sẽ nhận giá trị băm xác minh, ở định dạng base-64. Chuỗi đầu ra sẽ bị kết thúc rỗng. Vùng đệm này ít nhất phải lớn bằng kWeaveprovideingHashLength + 1.
[in] hashBufSize
Kích thước tính bằng byte của vùng đệm được trỏ đến bởi hashBuf.
Giá trị trả về
WEAVE_NO_ERROR
Nếu phương thức thành công.
WEAVE_ERROR_INVALID_STRING_LENGTH
Nếu một trong các giá trị nhập vào quá dài (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu vùng đệm được cung cấp quá nhỏ nên không thể lưu giữ giá trị hàm băm đã tạo.

Mã OIDToWeaveCurve

uint32_t OIDToWeaveCurveId(
  ASN1::OID curveOID
)

PackCertTime

NL_DLL_EXPORT WEAVE_ERROR PackCertTime(
  const ASN1UniversalTime & time,
  uint32_t & packedTime
)

Chuyển đổi ngày/giờ của chứng chỉ (ở dạng cấu trúc giờ toàn cầu ASN.1) thành ngày/giờ chứng chỉ đóng gói.

Ngày/giờ của chứng chỉ được đóng gói cung cấp cách trình bày ngắn gọn cho các giá trị thời gian trong một chứng chỉ (không phải Trước và Sau) mà không cần diễn giải toàn bộ lịch biểu.

Ngày/giờ của chứng chỉ đóng gói chứa các trường ngày/giờ theo lịch, chẳng hạn như năm, tháng, ngày, giờ, phút, giây được đóng gói thành một số nguyên chưa ký. Biểu diễn bit được tổ chức sao cho những so sánh thứ tự của các giá trị ngày/giờ đóng gói tương ứng với thứ tự tự nhiên của các thời gian tương ứng. Để giảm kích thước của chúng, ngày/giờ của giấy chứng nhận đóng gói được giới hạn trong hoặc sau ngày 01/01/2000 00:00:00. Khi nằm trong số nguyên 32 bit chưa ký, ngày/giờ của chứng chỉ đóng gói có thể biểu thị thời gian cho đến năm 2133.

Thông tin chi tiết
Các tham số
time
Ngày/giờ theo lịch sẽ được chuyển đổi.
packedTime
Tham chiếu đến một số nguyên sẽ nhận ngày/giờ đóng gói.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thời gian nhập được chuyển đổi thành công.
ASN1_ERROR_UNSUPPORTED_ENCODING
Nếu thời gian nhập chứa giá trị năm không thể biểu thị bằng giá trị thời gian chứng chỉ đóng gói.

PackedCertDateToTime

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

Chuyển đổi ngày của chứng chỉ đóng gói thành ngày/giờ đóng gói tương ứng của chứng chỉ, trong đó phần thời gian của giá trị được thiết lập là 00:00:00.

Thông tin chi tiết
Các tham số
packedDate
Ngày chứng chỉ đóng gói sẽ được chuyển đổi.
Trả về
Ngày/giờ của chứng chỉ gói tương ứng.

PackedCertTimeToDate

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

Chuyển đổi ngày/giờ của chứng chỉ đóng gói thành ngày/giờ của chứng chỉ đóng gói.

Ngày của chứng chỉ được đóng gói chứa các trường ngày tháng, năm, ngày theo lịch được đóng gói thành một số nguyên chưa ký. Các bit được sắp xếp sao cho phép so sánh thứ tự của các giá trị ngày đóng gói tương ứng với thứ tự tự nhiên của các ngày tương ứng. Để giảm kích thước của chúng, ngày chứng nhận đóng gói được giới hạn trong hoặc sau ngày 2000/01/01. Khi được chứa trong số nguyên 16 bit chưa ký, ngày của chứng chỉ được đóng gói có thể đại diện cho ngày lên đến năm 2176.

Thông tin chi tiết
Các tham số
packedTime
Ngày/giờ chứng chỉ đóng gói sẽ được chuyển đổi.
Trả về
Ngày của chứng chỉ gói tương ứng.

ParseWeaveIdAttribute

WEAVE_ERROR ParseWeaveIdAttribute(
  ASN1Reader & reader,
  uint64_t & weaveIdOut
)

PrintCert

NL_DLL_EXPORT void PrintCert(
  FILE *out,
  const WeaveCertificateData & cert,
  const WeaveCertificateSet *certSet,
  uint16_t indent,
  bool verbose
)

PrintCertArray

WEAVE_ERROR PrintCertArray(
  FILE *out,
  TLVReader & reader,
  uint16_t indent
)

PrintCertReference

WEAVE_ERROR PrintCertReference(
  FILE *out,
  TLVReader & reader,
  uint16_t indent
)

PrintCertType

void PrintCertType(
  FILE *out,
  uint8_t certType
)

PrintCertValidationResults

NL_DLL_EXPORT void PrintCertValidationResults(
  FILE *out,
  const WeaveCertificateSet & certSet,
  const ValidationContext & validContext,
  uint16_t indent
)

PrintECDSASignature

WEAVE_ERROR PrintECDSASignature(
  FILE *out,
  TLVReader & reader,
  uint16_t indent
)

PrintHexField

void PrintHexField(
  FILE *out,
  const char *name,
  uint16_t indent,
  uint16_t count,
  const uint8_t *data
)

PrintPackedDate

void PrintPackedDate(
  FILE *out,
  uint16_t t
)

PrintPackedTime

void PrintPackedTime(
  FILE *out,
  uint32_t t
)

PrintWeaveDN

void PrintWeaveDN(
  FILE *out,
  const WeaveDN & dn
)

PrintWeaveDN

WEAVE_ERROR PrintWeaveDN(
  FILE *out,
  TLVReader & reader
)

PrintWeaveSignature

WEAVE_ERROR PrintWeaveSignature(
  FILE *out,
  TLVReader & reader,
  uint16_t indent
)

SecondsSinceEpochToPackedCertTime

NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime(
  uint32_t secondsSinceEpoch
)

Chuyển đổi số giây kể từ 1970-01-01 00:00:00 UTC thành ngày/giờ chứng chỉ đóng gói.

Thông tin chi tiết
Các tham số
secondsSinceEpoch
Số giây kể từ 1970/01/01 00:00:00 UTC. Lưu ý: giá trị này tương thích với các giá trị dương của giá trị time_t POSIX, tối đa đến năm 2105.
Trả về
Ngày/giờ của chứng chỉ gói tương ứng.

TranslateOpenSSLError

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

UnpackCertTime

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

Giải nén ngày/giờ của chứng chỉ đã đóng gói vào cấu trúc thời gian toàn cầu ASN.1.

Thông tin chi tiết
Các tham số
packedTime
Thời gian chứng chỉ đóng gói để giải nén.
time
Tham chiếu đến cấu trúc ASN1UniversalTime để nhận ngày/giờ đã giải nén.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thời gian nhập đã được giải nén thành công.

VerifyWeaveSignature

NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature(
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  const uint8_t *sig,
  uint16_t sigLen,
  WeaveCertificateSet & certSet,
  ValidationContext & certValidContext
)

VerifyWeaveSignature

NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature(
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  const uint8_t *sig,
  uint16_t sigLen,
  OID expectedSigAlgoOID,
  WeaveCertificateSet & certSet,
  ValidationContext & certValidContext
)

WeaveCurveIdToOID

NL_DLL_EXPORT OID WeaveCurveIdToOID(
  uint32_t weaveCurveId
)