nl::Weave::Profiles::Security::WeaveCertificateSet

Summary

Constructors and Destructors

WeaveCertificateSet(void)

Public types

AllocFunct)(size_t size) typedef
void *(*
FreeFunct)(void *p) typedef
void(*

Public attributes

CertCount
uint8_t
Certs
MaxCerts
uint8_t

Protected attributes

mAllocFunct
AllocFunct
mDecodeBuf
uint8_t *
mDecodeBufSize
uint16_t
mFreeFunct
FreeFunct

Public functions

AddTrustedKey(uint64_t caId, uint32_t curveId, const EncodedECPublicKey & pubKey, const uint8_t *pubKeyId, uint16_t pubKeyIdLen)
Clear(void)
void
FindCert(const CertificateKeyId & subjectKeyId) const
FindValidCert(const WeaveDN & subjectDN, const CertificateKeyId & subjectKeyId, ValidationContext & context, WeaveCertificateData *& cert)
GenerateECDSASignature(const uint8_t *msgHash, uint8_t msgHashLen, WeaveCertificateData & cert, const EncodedECPrivateKey & privKey, EncodedECDSASignature & encodedSig)
Init(uint8_t maxCerts, uint16_t decodeBufSize)
Init(uint8_t maxCerts, uint16_t decodeBufSize, AllocFunct allocFunct, FreeFunct freeFunct)
Init(WeaveCertificateData *certBuf, uint8_t certBufSize, uint8_t *decodeBuf, uint16_t decodeBufSize)
LastCert(void) const
LoadCert(const uint8_t *weaveCert, uint32_t weaveCertLen, uint16_t decodeFlags, WeaveCertificateData *& cert)
LoadCert(TLVReader & reader, uint16_t decodeFlags, WeaveCertificateData *& cert)
LoadCerts(const uint8_t *encodedCerts, uint32_t encodedCertsLen, uint16_t decodeFlags)
LoadCerts(TLVReader & reader, uint16_t decodeFlags)
Release(void)
void
SaveCerts(TLVWriter & writer, WeaveCertificateData *firstCert, bool includeTrusted)
ValidateCert(WeaveCertificateData & cert, ValidationContext & context)
VerifyECDSASignature(const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECDSASignature & encodedSig, WeaveCertificateData & cert)

Protected functions

DecodeWeaveCert(TLVReader & reader, uint16_t decodeFlags, WeaveCertificateData & certData)
DetermineCertType(WeaveCertificateData & cert)
FindValidCert(const WeaveDN & subjectDN, const CertificateKeyId & subjectKeyId, ValidationContext & context, uint16_t validateFlags, uint8_t depth, WeaveCertificateData *& cert)
ValidateCert(WeaveCertificateData & cert, ValidationContext & context, uint16_t validateFlags, uint8_t depth)

Public types

AllocFunct

void *(* AllocFunct)(size_t size)

FreeFunct

void(* FreeFunct)(void *p)

Public attributes

CertCount

uint8_t CertCount

Certs

WeaveCertificateData * Certs

MaxCerts

uint8_t MaxCerts

Protected attributes

mAllocFunct

AllocFunct mAllocFunct

mDecodeBuf

uint8_t * mDecodeBuf

mDecodeBufSize

uint16_t mDecodeBufSize

mFreeFunct

FreeFunct mFreeFunct

Public functions

AddTrustedKey

WEAVE_ERROR AddTrustedKey(
  uint64_t caId,
  uint32_t curveId,
  const EncodedECPublicKey & pubKey,
  const uint8_t *pubKeyId,
  uint16_t pubKeyIdLen
)

Clear

void Clear(
  void
)

FindCert

WeaveCertificateData * FindCert(
  const CertificateKeyId & subjectKeyId
) const 

FindValidCert

WEAVE_ERROR FindValidCert(
  const WeaveDN & subjectDN,
  const CertificateKeyId & subjectKeyId,
  ValidationContext & context,
  WeaveCertificateData *& cert
)

GenerateECDSASignature

WEAVE_ERROR GenerateECDSASignature(
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  WeaveCertificateData & cert,
  const EncodedECPrivateKey & privKey,
  EncodedECDSASignature & encodedSig
)

Init

WEAVE_ERROR Init(
  uint8_t maxCerts,
  uint16_t decodeBufSize
)

Init

WEAVE_ERROR Init(
  uint8_t maxCerts,
  uint16_t decodeBufSize,
  AllocFunct allocFunct,
  FreeFunct freeFunct
)

Init

WEAVE_ERROR Init(
  WeaveCertificateData *certBuf,
  uint8_t certBufSize,
  uint8_t *decodeBuf,
  uint16_t decodeBufSize
)

LastCert

WeaveCertificateData * LastCert(
  void
) const 

LoadCert

WEAVE_ERROR LoadCert(
  const uint8_t *weaveCert,
  uint32_t weaveCertLen,
  uint16_t decodeFlags,
  WeaveCertificateData *& cert
)

LoadCert

WEAVE_ERROR LoadCert(
  TLVReader & reader,
  uint16_t decodeFlags,
  WeaveCertificateData *& cert
)

LoadCerts

WEAVE_ERROR LoadCerts(
  const uint8_t *encodedCerts,
  uint32_t encodedCertsLen,
  uint16_t decodeFlags
)

LoadCerts

WEAVE_ERROR LoadCerts(
  TLVReader & reader,
  uint16_t decodeFlags
)

Release

void Release(
  void
)

SaveCerts

WEAVE_ERROR SaveCerts(
  TLVWriter & writer,
  WeaveCertificateData *firstCert,
  bool includeTrusted
)

ValidateCert

WEAVE_ERROR ValidateCert(
  WeaveCertificateData & cert,
  ValidationContext & context
)

VerifyECDSASignature

WEAVE_ERROR VerifyECDSASignature(
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  const EncodedECDSASignature & encodedSig,
  WeaveCertificateData & cert
)

WeaveCertificateSet

 WeaveCertificateSet(
  void
)

Protected functions

DecodeWeaveCert

WEAVE_ERROR DecodeWeaveCert(
  TLVReader & reader,
  uint16_t decodeFlags,
  WeaveCertificateData & certData
)

DetermineCertType

WEAVE_ERROR DetermineCertType(
  WeaveCertificateData & cert
)

FindValidCert

WEAVE_ERROR FindValidCert(
  const WeaveDN & subjectDN,
  const CertificateKeyId & subjectKeyId,
  ValidationContext & context,
  uint16_t validateFlags,
  uint8_t depth,
  WeaveCertificateData *& cert
)

ValidateCert

WEAVE_ERROR ValidateCert(
  WeaveCertificateData & cert,
  ValidationContext & context,
  uint16_t validateFlags,
  uint8_t depth
)