nl::Weave::Hồ sơ::Bảo mật

Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho cấu hình Security của Weave.

Tóm tắt

Bảng liệt kê

@235 enum
Cờ mục đích chính của chứng chỉ X.509.
@236 enum
Cờ sử dụng khóa chứng chỉ X.509.
@237 enum
Cờ chứng nhận dệt.
@238 enum
Cờ giải mã chứng chỉ dệt.
@239 enum
Đã có 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 khóa 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ã thông báo 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ã truy cập.
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
Đọc mã truy cập Weave và ghi cấu trúc CASE thông tin chứng chỉ TLV chứa các chứng chỉ từ mã 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ỉ Weave.
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 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 Mã truy cập Weave và trích xuất khóa riêng tư.
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
Đọc Mã truy cập Weave và trích xuất khóa 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ã hóa 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 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ã thông báo truy cập vào một nhóm chứng chỉ Weave.
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
Tải các chứng chỉ trong mã thông báo truy cập vào một nhóm 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 một hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin đăng nhập thiết bị của Máy điều nhiệt.
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 Weave đã cho.
OIDToWeaveCurveId(ASN1::OID curveOID)
uint32_t
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
NL_DLL_EXPORT WEAVE_ERROR
Chuyển đổi ngày/giờ chứng chỉ (dưới dạng cấu trúc thời gian toàn cầu ASN.1) thành ngày/giờ chứng chỉ được đóng gói.
PackedCertDateToTime(uint16_t packedDate)
NL_DLL_EXPORT uint32_t
Chuyển đổi ngày chứng chỉ được đóng gói thành ngày/giờ chứng chỉ được đóng gói tương ứng, trong đó phần thời gian của giá trị được đặt thành 00:00:00.
PackedCertTimeToDate(uint32_t packedTime)
NL_DLL_EXPORT uint16_t
Chuyển đổi ngày/giờ chứng chỉ đã đóng gói thành ngày 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ừ ngày 01:00: 00:00 UTC ngày 1970-01-01 giờ 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ờ chứng nhận đã đóng gói thành một cấu trúc thời gian phổ biến là 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::Hồ sơ::Bảo mật::CertificateKeyId
nl::Weave::Hồ sơ::Bảo mật::AuthenticationContext
nl::Weave::Hồ sơ::Bảo mật::WeaveCertificateData
nl::Weave::Hồ sơ::Bảo mật::WeaveCertificateSet
nl::Weave::Hồ sơ::Bảo mật::WeaveDN
nl::Weave::Hồ sơ::Bảo mật::WeaveprovisioningGói
nl::Weave::Hồ sơ::Bảo mật::WeavesignatureGenerator

Tạo WeaveChữ bằng cách sử dụng khóa riêng tư trong bộ nhớ.

nl::Weave::Profiles::Security::WeaveChữGeneratorBase

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

Không gian tên

nl::Weave::Hồ sơ::Bảo mật::AppKeys

Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho thư viện khóa ứng dụng Weave trong hồ sơ bảo mật Weave.

nl::Weave::Hồ sơ::Bảo mật::CASE

Vùng chứa tên này bao gồm tất cả giao diện trong Weave 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 Weave.

nl::Weave::Hồ sơ::Bảo mật::Cấp phép

Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức Cung cấp chứng chỉ Weave trong hồ sơ bảo mật Weave.

nl::Weave::Hồ sơ::Bảo mật::Khóa xuất

Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức xuất khóa trong hồ sơ bảo mật Weave.

nl::Weave::Hồ sơ::Bảo mật::PASE

Vùng chứa tên này bao gồm tất cả giao diện trong Weave 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 Weave.

nl::Weave::Hồ sơ::Bảo mật::Mật mã

Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho thư viện mật mã Weave trong hồ sơ bảo mật Weave.

nl::Weave::Hồ sơ::Bảo mật::Take

Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức Khóa xác thực mã thông báo (Take) trong cấu hình Weave Security.

Bảng liệt kê

@235

 @235

Cờ mục đích chính của chứng chỉ X.509.

@336

 @236

Cờ sử dụng khóa chứng chỉ X.509.

@337

 @237

Cờ chứng nhận dệt.

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

@338

 @238

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

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

@339

 @239

Đã có cờ xác thực chứng chỉ.

Chứa thông tin nêu rõ 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

Bộ tạo chữ ký ECDSA

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

Tạo chữ ký ECDSA bằng khóa riêng tư của nút Weave cục bộ;

Khi được gọi, các phương thức 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 khóa riêng tư của nút\39;s.

Thông tin chi tiết
Các thông số
[in] hash
Vùng đệm chứa dữ liệu 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, trong đó kết quả của hàm này được lưu trữ.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thao tác thành công.

Biến

gCung cấp góiKDFSalt

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ã thông báo 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ã truy cập.

Hàm này giải mã mã truy cập Weave Access cụ thể và mã hóa TLV cho cấu trúc Thông tin chứng chỉ CASE. Trường EntityCertificate trong cấu trúc CertificateInfo được đặt thành chứng chỉ của mã truy cập và trường relatedCertificates (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 thông số
accessToken
Con trỏ vào bộ đệm chứa Mã thông báo truy cập đã mã hóa.
accessTokenLen
Độ dài của mã truy cập được mã hóa.
certInfoBuf
Con trỏ đến bộ đệm mà cấu trúc thông tin chứng chỉ CASE phải được mã hóa.
certInfoBufSize
Kích thước của bộ đệm mà certInfoBuf trỏ đến.
certInfoLen
Tham chiếu đến số nguyên sẽ được đặt thành độ dài của cấu trúc thông tin chứng chỉ được mã hóa. 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 được mã hóa thành công.
tlv-errors
Lỗi lỗi liên quan đến việc đọc hoặc viết TLV.
cert-errors
Lỗi dệt 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.

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

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

Hàm này đọc Mã thông báo truy cập Weave từ một TLV Reader đã cho và ghi TLV cho cấu trúc Thông tin chứng chỉ Weave CASE cho một TLVWriter. Trường EntityCertificate trong cấu trúc CertificateInfo được đặt thành chứng chỉ của mã truy cập và trường relatedCertificates (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 thông số
[in] reader
Một TLV Reader nằm trên mã truy cập Weave Access.
[in] writer
TLVWriter được dùng để ghi 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 được mã hóa thành công.
tlv-errors
Lỗi lỗi liên quan đến việc đọc hoặc viết TLV.
cert-errors
Lỗi dệt 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.

ConvertAuthorityKeyIdentifierExtension

WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

Chứng chỉ chuyển đổi

WEAVE_ERROR ConvertCertificate(
  ASN1Reader & reader,
  TLVWriter & writer
)

Chuyển đổi tên được phân biệt

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

ConvertECDSAChữ ký_DERToWeave

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

Chuyển đổi tiện ích

WEAVE_ERROR ConvertExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

Chuyển đổi tiện ích

WEAVE_ERROR ConvertExtensions(
  ASN1Reader & reader,
  TLVWriter & writer
)

Chuyển đổi chủ đề khóa công khai

WEAVE_ERROR ConvertSubjectPublicKeyInfo(
  ASN1Reader & reader,
  TLVWriter & writer
)

Tính hợp lệ của lượt chuyển đổi

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
)

Mã hóa chuyển đổi giải mã cơ bản

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

Giải mã đã chuyển đổi

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

Giải mã chuyển đổiDN

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

Chữ ký DecodeConvertECDSA

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

DecodeConvertExtendedKeyUsageExtension

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

Giải mã chuyển đổi tiện ích

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

Giải mã chuyển đổi tiện ích

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

DecodeConvertKeyUsageExtension

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

DecodeConvertRSAChữ ký

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
)

Giải mã chuyển đổiTBSCert

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

Giải mã chuyển đổi hợp lệ

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

Sao chép giải mã ECDSAsignature_DER

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

Giải mã

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

Giải mã

WEAVE_ERROR DecodeWeaveCert(
  TLVReader & reader,
  WeaveCertificateData & certData
)

Giải mã WeaveDN

WEAVE_ERROR DecodeWeaveDN(
  TLVReader & reader,
  WeaveDN & dn
)

Chữ ký DecodeWeaveECDSA

WEAVE_ERROR DecodeWeaveECDSASignature(
  TLVReader & reader,
  EncodedECDSASignature & sig
)

Giải mã riêng tư khóa bí mật

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

Mô tả WeaveCertId

const char * DescribeWeaveCertId(
  OID attrOID,
  uint64_t weaveCertId
)

Xác định loại

WEAVE_ERROR DetermineCertType(
  WeaveCertificateData & cert
)

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

Chức năng này thực hiện việc đánh giá chung về loại chứng chỉ dựa trên cấu trúc của tên phân biệt đối tượng và các tiện ích hiện có. Bạn có thể ghi đè bài đánh giá này bằng cách đặt cert.CertType thành 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 có 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 một chứng chỉ có thể ảnh hưởng đến tự nhiên của sự tin cậy này, ví dụ như để cho phép hoặc không cho phép truy cập vào các tính năng nhất định. Do đó, những thay đổi đối với thuật toán này có thể có tác động đến RẤT NHIỀU TÍN HIỆU và HIỆU SUẤT TÂY BAN NHA trên toàn bộ hệ thống, do đó, bạn không nên hiểu rõ về các hệ quả.

LƯU Ý: Cấu trúc của chứng chỉ mã thông báo truy cập không được chỉ phân biệt theo cấu trúc của chúng. Do đó, hàm này không bao giờ đặt cert.CertType = kCertType_AccessToken.

Chữ ký EncodeWeaveECDSA

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
)

Trích xuất

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

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

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

Thông tin chi tiết
Các thông số
[in] reader
Một TLV Reader nằm trên mã truy cập Weave Access.
[in] writer
TLVWriter sẽ được viết chứng chỉ vào đó.
[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 được mã hóa thành công.
tlv-errors
Lỗi lỗi liên quan đến việc đọc hoặc viết TLV.
cert-errors
Lỗi dệt 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.

Trích xuất công khai

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

Đọc Mã truy cập Weave và trích xuất khóa riêng tư.

Hàm này giải mã mã truy cập Weave Access cụ thể và trích xuất trường khóa riêng tư từ mã thông báo.

Thông tin chi tiết
Các thông số
accessToken
Con trỏ vào bộ đệm chứa Mã thông báo truy cập đã mã hóa.
accessTokenLen
Độ dài của mã truy cập được mã hóa.
privKeyBuf
Con trỏ đến bộ đệm mà cấu trúc khóa riêng tư cần được mã hóa.
privKeyBufSize
Kích thước của bộ đệm mà privKeyBuf trỏ đến.
privKeyLen
Tham chiếu đến số nguyên sẽ được đặt thành độ dài của khóa 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 lỗi liên quan đến việc đọc hoặc viết TLV.
cert-errors
Lỗi dệt 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.

Trích xuất công khai

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Đọc Mã truy cập Weave và trích xuất khóa riêng tư.

Hàm này giải mã mã truy cập Weave Access cụ thể và trích xuất trường khóa riêng tư từ mã thông báo.

Thông tin chi tiết
Các thông số
[in] reader
Một TLV Reader nằm trên mã truy cập Weave Access.
[in] writer
TLVWriter dùng để ghi khóa riêng tư.
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 lỗi liên quan đến việc đọc hoặc viết TLV.
cert-errors
Lỗi dệt 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.

Chữ ký CreateAndEncodeWeaveECDSA

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ã hóa chữ ký Weave ECDSA.

Tính toán chữ ký ECDSA bằng cách sử dụng khóa cá nhân và hàm băm thư và cho phép ký chữ ký dưới dạng cấu trúc Chữ ký ECDSA được gửi tới trình ghi TLV được chỉ định có thẻ đã cho.

Thông tin chi tiết
Các thông số
[in] writer
Đối tượng TLVWriter cần viết chữ ký được mã hóa.
[in] tag
Thẻ TLV được liên kết với cấu trúc chữ ký đã mã hóa.
[in] msgHash
Vùng đệm chứa dữ liệu băm của thư cần ký.
[in] msgHashLen
Độ dài tính bằng byte của hàm băm thư.
[in] signingKey
Vùng đệm chứa khóa riêng tư sẽ dùng để tạo chữ ký. Khóa riêng tư dự kiến sẽ được mã hóa dưới dạng cấu trúc Weave EllipticC Privateve KeyT.
[in] signingKeyLen
Độ dài tính bằng byte của khóa riêng tư được mã hóa.
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ã khóa riêng tư, tạo chữ ký hoặc mã hóa chữ ký.

Tạo điều hành thiết bị

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 Weave.

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

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

GetWeaveChữAlgo

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

Thụt lề

void Indent(
  FILE *out,
  uint16_t count
)

InsertSCertificatesIntoWeaveChữ ký

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
)

Bộ IsCurveInSet

bool IsCurveInSet(
  uint32_t curveId,
  uint8_t curveSet
)

Con đường được hỗ trợ

bool IsSupportedCurve(
  uint32_t curveId
)

IsWeaveIdX509Attr

bool IsWeaveIdX509Attr(
  OID oid
)

IsWeaveX509Attr

bool IsWeaveX509Attr(
  OID oid
)

TảiAccessTokenCerts

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ã thông báo truy cập vào một nhóm chứng chỉ Weave.

Hàm này giải mã mã truy cập Weave đã cho và tải các chứng chỉ mã truy cập vào đối tượng đã đặt chứng chỉ Weave đã chỉ định. Nếu mã truy cập chứa một hoặc nhiều chứng chỉ 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 thông số
accessToken
Con trỏ vào bộ đệm chứa Mã thông báo truy cập đã mã hóa.
accessTokenLen
Độ dài của mã truy cập được mã hóa.
certSet
Chứng chỉ được đặt khi tải chứng chỉ mã truy cập.
decodeFlags
Chứng chỉ giải mã những cờ này sẽ được sử dụng khi tải chứng chỉ.
accessTokenCert
Tham chiếu đến con trỏ sẽ được đặt thành cấu trúc dữ liệu chứng chỉ Weave cho chứng chỉ mã 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
Đã tải thành công chứng chỉ mã truy cập.
tlv-errors
Lỗi lỗi liên quan đến việc đọc TLV.
cert-errors
Lỗi dệt 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.

TảiAccessTokenCerts

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

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

Hàm này đọc mã thông báo truy cập Weave từ một TLV Reader đã cho 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ỉ 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 thông số
reader
Đối tượng TLV Reader nằm ngay trước Mã truy cập Weave.
certSet
Chứng chỉ được đặt khi tải chứng chỉ mã truy cập.
decodeFlags
Chứng chỉ giải mã những cờ này sẽ được sử dụng khi tải chứng chỉ.
accessTokenCert
Tham chiếu đến con trỏ sẽ được đặt thành cấu trúc dữ liệu chứng chỉ Weave cho chứng chỉ mã 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
Đã tải thành công chứng chỉ mã truy cập.
tlv-errors
Lỗi lỗi liên quan đến việc đọc TLV.
cert-errors
Lỗi dệt 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.

Tạo thông tin đăng nhập thiết bị

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 một hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin đăng nhập thiết bị của Máy điều nhiệt.

Thông tin chi tiết
Các thông số
[in] serialNum
Con trỏ đến bộ đệ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ỏ vào bộ đệm chứa mã thiết bị.
[in] deviceIdLen
Độ dài của mã thiết bị.
[in] deviceSecret
Con trỏ vào bộ đệm chứa thông tin mật của thiết bị.
[in] deviceSecretLen
Độ dài của bí mật của thiết bị.
[in,out] hashBuf
Con trỏ đến một bộ đệm sẽ nhận giá trị hàm băm xác minh, ở định dạng base-64. Chuỗi đầu ra sẽ bị chấm dứt. Vùng đệm này ít nhất phải lớn bằng kDeviceAuthenticationHashLength + 1.
[in] hashBufSize
Kích thước tính bằng byte của bộ đệm trỏ đến bằng hàm bămBBf.
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ỏ để lưu giữ giá trị hàm băm đã tạo.

Cung cấp thông tin ôn tập

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 Weave đã cho.

Thông tin chi tiết
Các thông số
[in] nodeId
Mã nút Weave của thiết bị.
[in] weaveCert
Con trỏ đến một bộ đệ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ỉ do WeaveCert chỉ định.
[in] weavePrivKey
Con trỏ vào bộ đệm chứa khóa riêng tư cho thiết bị Weave ở định dạng base-64.
[in] weavePrivKeyLen
Độ dài của giá trị khoá riêng tư do WeavePrivKey chỉ định.
[in] pairingCode
Con trỏ đến bộ đệ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 một bộ đệm sẽ nhận giá trị hàm băm xác minh, ở định dạng base-64. Chuỗi đầu ra sẽ bị chấm dứt. Vùng đệm này ít nhất phải lớn bằng kWeaveprovisioningHashLength + 1.
[in] hashBufSize
Kích thước tính bằng byte của bộ đệm trỏ đến bằng hàm bămBBf.
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ỏ để lưu giữ giá trị hàm băm đã tạo.

OIDToWeaveCurveId

uint32_t OIDToWeaveCurveId(
  ASN1::OID curveOID
)

Gói thời gian

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

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

Ngày/giờ chứng chỉ được đóng gói cung cấp bản trình bày thu gọn cho các giá trị thời gian trong chứng chỉ (không trước và không sau) không yêu cầu tính toán toàn bộ lịch.

Ngày/giờ đóng gói chứng chỉ chứa các trường của ngày/giờ theo lịch, tức là năm, tháng, ngày, giờ, phút, được đóng gói thành số nguyên không dấu. Biểu diễn bit được sắp xếp để các phép so sánh thứ tự của giá trị ngày/giờ được đóng gói tương ứng với thứ tự tự nhiên của thời gian tương ứng. Để giảm kích thước, ngày/giờ đóng gói chứng chỉ được giới hạn ở các thời điểm vào hoặc sau ngày 1/1/2000 00:00:00. Khi nằm trong số nguyên 32 bit không có chữ ký, ngày/giờ chứng chỉ được đóng gói có thể đại diện cho số lần tính đến năm 2133.

Thông tin chi tiết
Các thông số
time
Ngày/giờ chuyển đổi của lịch.
packedTime
Tham chiếu đến số nguyên sẽ nhận ngày/giờ đóng gói.
Giá trị trả về
WEAVE_NO_ERROR
Đã chuyển đổi thời gian nhập thành công.
ASN1_ERROR_UNSUPPORTED_ENCODING
Nếu thời gian nhập chứa giá trị năm không thể thể hiện trong giá trị thời gian chứng nhận đã đóng gói.

Gói đã chọn cho thời gian

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

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

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

PackageedCertTimeToDate

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

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

Ngày của chứng chỉ được đóng gói chứa các trường của một ngày tháng theo lịch, tháng, được đóng gói trong một số nguyên không dấu. Các bit được sắp xếp sao cho các phép so sánh thứ tự của 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, ngày chứng chỉ đóng gói bị giới hạn ở việc biểu thị ngày vào hoặc sau ngày 01/01/2000. Khi được đặt trong một số nguyên không dấu 16 bit, các ngày chứng nhận được đóng gói có thể biểu thị các ngày cho đến năm 2176.

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

Thuộc tính ParseWeaveId

WEAVE_ERROR ParseWeaveIdAttribute(
  ASN1Reader & reader,
  uint64_t & weaveIdOut
)

Ảnh in giấy

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
)

Tham chiếu lệnh in

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

Loại bản in

void PrintCertType(
  FILE *out,
  uint8_t certType
)

Kết quả xác thực in

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

Chữ ký PrintECDSA

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

Trường inHex

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

Bản in đã in

void PrintPackedDate(
  FILE *out,
  uint16_t t
)

Thời gian in

void PrintPackedTime(
  FILE *out,
  uint32_t t
)

InWeaveDN

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

InWeaveDN

WEAVE_ERROR PrintWeaveDN(
  FILE *out,
  TLVReader & reader
)

Chữ ký WeInveve

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

Thứ hai kể từ thời điểm

NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime(
  uint32_t secondsSinceEpoch
)

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

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

Lỗi DịchOpenSSL

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

Giải nén thời gian

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

Giải nén ngày/giờ chứng nhận đã đóng gói thành một cấu trúc thời gian phổ biến là ASN.1.

Thông tin chi tiết
Các thông số
packedTime
Thời gian đóng gói chứng chỉ để giải nén.
time
Tham chiếu đến cấu trúc ASN1UniversalTime để nhận ngày/giờ chưa được 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.

Xác minh chữ ký quốc tế

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

Xác minh chữ ký quốc tế

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
)