nl::Weave::Profiles::Security

Dieser Namespace umfasst alle Schnittstellen in Weave für das Weave-Profil Security.

Zusammenfassung

Aufzählungen

@235 enum
Flags für den Zweck des X.509-Zertifikatschlüssels.
@236 enum
Flags für die Nutzung des X.509-Zertifikatschlüssels
@237 enum
Weave Certificate Flags.
@238 enum
Flags zur Decodierung von Weave-Zertifikaten.
@239 enum
Flags zur Validierung des Weave-Zertifikats.
@240 enum
@280 enum
@281 enum
@282 enum
@283 enum
@284 enum
@285 enum
@286 enum
@287 enum
@288 enum
@289 enum

Typedefs

GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig) typedef.
Generieren Sie eine ECDSA-Signatur mit dem privaten Schlüssel des lokalen Weave-Knotens.

Variablen

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

Funktionen

CASECertInfoFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen)
Liest ein Weave-Zugriffstoken und erstellt eine CASE-TLV-Struktur für Zertifikatsinformationen, die die Zertifikate aus dem Zugriffstoken enthält.
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
Liest ein Weave-Zugriffstoken und schreibt eine CASE-TLV-Struktur für Zertifikatsinformationen, die die Zertifikate aus dem Zugriffstoken enthält.
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)
Ermitteln Sie den allgemeinen Typ eines Weave-Zertifikats.
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)
Liest ein Weave-Zugriffstoken und extrahiert das Zugriffstoken-Zertifikat.
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
Liest ein Weave-Zugriffstoken und extrahiert den privaten Schlüssel.
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
Liest ein Weave-Zugriffstoken und extrahiert den privaten Schlüssel.
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
Generieren und codieren Sie eine Weave-ECDSA-Signatur.
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
NL_DLL_EXPORT WEAVE_ERROR
Generieren Sie ein Weave-Betriebszertifikat für Geräte.
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)
Laden Sie die Zertifikate in einem Zugriffstoken in einen Weave-Zertifikatsatz.
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
Laden Sie die Zertifikate in einem Zugriffstoken in einen Weave-Zertifikatsatz.
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
Generieren Sie einen Bestätigungs-Hash (im Base-64-Format) für einen bestimmten Satz von Anmeldedaten für das Thermostat-Gerä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
Generieren Sie einen Bestätigungs-Hash (im Base-64-Format) für einen bestimmten Satz an Weave-Bereitstellungsinformationen.
OIDToWeaveCurveId(ASN1::OID curveOID)
uint32_t
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
NL_DLL_EXPORT WEAVE_ERROR
Wandeln Sie Datum/Uhrzeit eines Zertifikats in Form einer universellen ASN.1-Zeitstruktur in Datum/Uhrzeit für gepacktes Zertifikat um.
PackedCertDateToTime(uint16_t packedDate)
NL_DLL_EXPORT uint32_t
Wandeln Sie das Datum eines gepackten Zertifikats in das entsprechende Datum und die entsprechende Uhrzeit um, wobei die Uhrzeit des Werts 00:00:00 ist.
PackedCertTimeToDate(uint32_t packedTime)
NL_DLL_EXPORT uint16_t
Wandeln Sie Datum/Uhrzeit eines gepackten Zertifikats in ein gepacktes Zertifikat um.
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
Rechnen Sie die Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC in ein gepacktes Zertifikat mit Datum/Uhrzeit um.
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
NL_DLL_EXPORT WEAVE_ERROR
Entpacken Sie das Datum und die Uhrzeit eines gepackten Zertifikats in eine universelle ASN.1-Zeitstruktur.
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

Klassen

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

Erzeugt eine WeaveSignature mithilfe eines speicherinternen privaten Schlüssels.

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

Bietet allgemeine Funktionen zum Generieren von WeaveSignatures.

Namespaces

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

Dieser Namespace umfasst alle Schnittstellen in Weave für die Weave-Anwendungsschlüsselbibliothek im Weave-Sicherheitsprofil.

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

Dieser Namespace umfasst alle Schnittstellen in Weave für das CASE-Protokoll (Certificate Authenticated Session Setting) im Weave-Sicherheitsprofil.

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

Dieser Namespace umfasst alle Schnittstellen in Weave für das Weave Certificate Provisioning-Protokoll innerhalb des Weave-Sicherheitsprofils.

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

Dieser Namespace umfasst alle Schnittstellen in Weave für das Schlüsselexportprotokoll im Weave-Sicherheitsprofil.

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

Dieser Namespace umfasst alle Schnittstellen in Weave für das PASE-Protokoll (Password Authenticated Session Einrichtung) im Weave-Sicherheitsprofil.

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

Dieser Namespace umfasst alle Schnittstellen in Weave für die Weave-Sicherheitscode-Bibliothek im Weave-Sicherheitsprofil.

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

Dieser Namespace umfasst alle Schnittstellen in Weave für das TAKE-Protokoll (Token Authenticated Key Exchange) im Weave-Profil Security.

Aufzählungen

@235

 @235

Flags für den Zweck des X.509-Zertifikatschlüssels.

@236

 @236

Flags für die Nutzung des X.509-Zertifikatschlüssels

@237

 @237

Weave Certificate Flags.

Enthält Informationen zu einem Zertifikat, das in ein WeaveCertSet-Objekt geladen wurde.

@238

 @238

Flags zur Decodierung von Weave-Zertifikaten.

Enthält Informationen dazu, wie ein Zertifikat decodiert werden soll.

@239

 @239

Flags zur Validierung des Weave-Zertifikats.

Enthält Informationen dazu, wie ein Zertifikat validiert werden soll.

@240

 @240

@280

 @280

@281

 @281

@282

 @282

@283

 @283

@284

 @284

@285

 @285

@286

 @286

@287

 @287

@288

 @288

@289

 @289

Typedefs

GenerateECDSASignatureFunct

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

Generieren Sie eine ECDSA-Signatur mit dem privaten Schlüssel des lokalen Weave-Knotens.

Wenn Implementierungen aufgerufen werden, müssen sie eine Signatur für den angegebenen Hashwert mithilfe des privaten Schlüssels des Knotens berechnen.

Details
Parameter
[in] hash
Ein Zwischenspeicher, der den Hash des zu signierenden Zertifikats enthält.
[in] hashLen
Die Länge des Hash in Byte.
[in] ecdsaSig
Ein Verweis auf das ecdsa-Signaturobjekt, in dem das Ergebnis dieser Funktion gespeichert werden soll.
Rückgabewerte
WEAVE_NO_ERROR
Wenn der Vorgang erfolgreich war.

Variablen

gProvisioningBundleKDFSalt

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

Funktionen

CASECertInfoFromAccessToken

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

Liest ein Weave-Zugriffstoken und erstellt eine CASE-TLV-Struktur für Zertifikatsinformationen, die die Zertifikate aus dem Zugriffstoken enthält.

Mit dieser Funktion wird ein bestimmtes Weave-Zugriffstoken decodiert und der TLV für eine Struktur mit Informationen zum Weave CASE-Zertifikat codiert. Das EntityCertificate-Feld innerhalb der CertificateInfo-Struktur ist auf das Zugriffstoken-Zertifikat festgelegt und das RelatedCertificates-Feld (falls vorhanden) ist auf das entsprechende Feld im Zugriffstoken festgelegt.

Details
Parameter
accessToken
Ein Zeiger auf einen Zwischenspeicher, der ein codiertes Weave-Zugriffstoken enthält.
accessTokenLen
Die Länge des codierten Zugriffstokens.
certInfoBuf
Ein Verweis auf einen Zwischenspeicher, in dem die Struktur der CASE-Zertifikatinformationen codiert werden soll.
certInfoBufSize
Die Größe des Zwischenspeichers, auf den certInfoBuf verweist.
certInfoLen
Ein Verweis auf eine Ganzzahl wird auf die Länge der codierten Zertifikatsinformationsstruktur festgelegt. HINWEIS: Dieser Wert wird nur festgelegt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Ob die Struktur mit den CASE-Informationen für den Zugriff codiert wurde:
tlv-errors
Es treten Fehler beim Lesen oder Schreiben in TLV auf.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Liest ein Weave-Zugriffstoken und schreibt eine CASE-TLV-Struktur für Zertifikatsinformationen, die die Zertifikate aus dem Zugriffstoken enthält.

Diese Funktion liest ein Weave-Zugriffstoken aus einem bestimmten TLVReader und schreibt die TLV für eine Weave CASE-Zertifikatinformationsstruktur in einen TLVWriter. Das EntityCertificate-Feld in der CertificateInfo-Struktur ist auf das Zugriffstoken-Zertifikat festgelegt und das RelatedCertificates-Feld (falls vorhanden) ist auf das entsprechende Feld im Zugriffstoken festgelegt.

Details
Parameter
[in] reader
Ein TLVReader-Wert auf dem Weave-Zugriffstoken.
[in] writer
Ein TLVWriter, mit dem die ausgegebenen CASE-Zertifikatinformationen aufgezeichnet werden
Rückgabewerte
WEAVE_NO_ERROR
Ob die Struktur mit den CASE-Informationen für den Zugriff codiert wurde:
tlv-errors
Es treten Fehler beim Lesen oder Schreiben in TLV auf.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

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
)

Ermitteln Sie den allgemeinen Typ eines Weave-Zertifikats.

Diese Funktion führt eine allgemeine Bewertung des Zertifikatstyps anhand der Struktur seines DN (Subjekt-DN) und der vorhandenen Erweiterungen durch. Anwendungen können diese Bewertung überschreiben, indem sie für cert.CertType einen anderen Wert festlegen, einschließlich eines anwendungsdefinierten Werts.

Im Allgemeinen vertrauen Anwendungen dem Zertifikat eines Peers nur, wenn es mit einem vertrauenswürdigen Root-Zertifikat verkettet ist. Der Typ, der einem Zertifikat zugewiesen wird, kann jedoch die Art dieser Vertrauensstellung beeinflussen, z.B. um den Zugriff auf bestimmte Funktionen zu erlauben oder zu verbieten. Aus diesem Grund können Änderungen an diesem Algorithmus SEHR BEDEUTLICHE und POTENTIAL CATASTROPHIC Auswirkungen auf die allgemeine Systemsicherheit haben. Daher sollten Änderungen an diesem Algorithmus nicht vorgenommen werden, ohne die Auswirkungen im Klaren zu sein.

HINWEIS: Zugriffstoken-Zertifikate lassen sich nicht allein durch ihre Struktur unterscheiden. Daher legt diese Funktion niemals cert.CertType = kCertType_AccessToken fest.

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
)

Liest ein Weave-Zugriffstoken und extrahiert das Zugriffstoken-Zertifikat.

Diese Funktion liest ein Weave-Zugriffstoken aus einem TLVReader und schreibt das Zugriffstoken in einen angegebenen TLVWriter.

Details
Parameter
[in] reader
Ein TLVReader-Wert auf dem Weave-Zugriffstoken.
[in] writer
Ein TLVWriter, in den das Zertifikat geschrieben wird.
[in] tag
Das TLV-Tag, das beim Schreiben des Zertifikats verwendet werden soll.
Rückgabewerte
WEAVE_NO_ERROR
Ob die Struktur mit den CASE-Informationen für den Zugriff codiert wurde:
tlv-errors
Es treten Fehler beim Lesen oder Schreiben in TLV auf.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

ExtractPrivateKeyFromAccessToken

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

Liest ein Weave-Zugriffstoken und extrahiert den privaten Schlüssel.

Diese Funktion decodiert ein bestimmtes Weave-Zugriffstoken und extrahiert das Feld für den privaten Schlüssel aus dem Token.

Details
Parameter
accessToken
Ein Zeiger auf einen Zwischenspeicher, der ein codiertes Weave-Zugriffstoken enthält.
accessTokenLen
Die Länge des codierten Zugriffstokens.
privKeyBuf
Ein Zeiger auf einen Zwischenspeicher, in dem die Struktur des privaten Schlüssels codiert werden soll.
privKeyBufSize
Die Größe des Zwischenspeichers, auf den privKeyBuf verweist.
privKeyLen
Ein Verweis auf eine Ganzzahl wird auf die Länge des privaten Schlüssels festgelegt. HINWEIS: Dieser Wert wird nur festgelegt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Ob der private Schlüssel erfolgreich extrahiert wurde.
tlv-errors
Es treten Fehler beim Lesen oder Schreiben in TLV auf.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

ExtractPrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Liest ein Weave-Zugriffstoken und extrahiert den privaten Schlüssel.

Diese Funktion decodiert ein bestimmtes Weave-Zugriffstoken und extrahiert das Feld für den privaten Schlüssel aus dem Token.

Details
Parameter
[in] reader
Ein TLVReader-Wert auf dem Weave-Zugriffstoken.
[in] writer
Einen TLVWriter, in den der private Schlüssel geschrieben wird.
Rückgabewerte
WEAVE_NO_ERROR
Ob der private Schlüssel erfolgreich extrahiert wurde.
tlv-errors
Es treten Fehler beim Lesen oder Schreiben in TLV auf.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

GenerateAndEncodeWeaveECDSASignature

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

Generieren und codieren Sie eine Weave-ECDSA-Signatur.

Berechnet eine ECDSA-Signatur mit einem bestimmten privaten Schlüssel und Nachrichten-Hash und schreibt die Signatur als Weave ECDSASignature-Struktur an den angegebenen TLV-Autor mit dem jeweiligen Tag.

Details
Parameter
[in] writer
Das TLVWriter-Objekt, in das die codierte Signatur geschrieben werden soll.
[in] tag
TLV-Tag, das mit der codierten Signaturstruktur verknüpft wird.
[in] msgHash
Ein Zwischenspeicher, der den Hash der zu signierenden Nachricht enthält.
[in] msgHashLen
Die Länge des Nachrichten-Hash in Byte.
[in] signingKey
Ein Zwischenspeicher, der den privaten Schlüssel enthält, der zum Generieren der Signatur verwendet werden soll. Der private Schlüssel muss als Weave EllipticCurvePrivateKey-TLV-Struktur codiert sein.
[in] signingKeyLen
Die Länge des codierten privaten Schlüssels in Byte.
Rückgabewerte
WEAVE_NO_ERROR
Wenn der Vorgang erfolgreich war.
other
Sonstige Weave-Fehlercodes im Zusammenhang mit der Decodierung des privaten Schlüssels, der Generierung der Signatur oder der Codierung der Signatur.

GenerateOperationalDeviceCert

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

Generieren Sie ein Weave-Betriebszertifikat für Geräte.

Diese Funktion generiert ein selbst signiertes Weave-Betriebszertifikat, das im Weave-TLV-Format codiert ist.

Details
Parameter
deviceId
Weave-Geräte-ID.
devicePubKey
Öffentlicher Schlüssel des operativen Geräts für Weave.
cert
Ein Zeiger auf einen Zwischenspeicher, in den das generierte Zertifikat geschrieben werden soll.
certBufSize
Die Länge des bereitgestellten Zertifikatpuffers in Byte.
certLen
Die Länge des generierten Zertifikats in Byte.
genCertSignature
Ein Zeiger auf eine Funktion, die die ECDSA-Signatur auf dem angegebenen Zertifikats-Hash mithilfe des privaten Schlüssels des operativen Geräts generiert.
Rückgabewerte
WEAVE_NO_ERROR
Ob Weave-Zertifikat erfolgreich generiert wurde.

GetWeaveSignatureAlgo

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

Einrücken

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
)

Laden Sie die Zertifikate in einem Zugriffstoken in einen Weave-Zertifikatsatz.

Diese Funktion decodiert ein bestimmtes Weave-Zugriffstoken und lädt die Zugriffstoken-Zertifikate in das angegebene Weave-Zertifikatssatz-Objekt. Wenn die Zugriffstokens ein oder mehrere zugehörige Zertifikate enthalten, werden diese ebenfalls in den Zertifikatsatz geladen.

Details
Parameter
accessToken
Ein Zeiger auf einen Zwischenspeicher, der ein codiertes Weave-Zugriffstoken enthält.
accessTokenLen
Die Länge des codierten Zugriffstokens.
certSet
Der Zertifikatsatz, in den die Zugriffstoken-Zertifikate geladen werden sollen.
decodeFlags
Die Flags zur Zertifikatsdecodierung, die beim Laden der Zertifikate verwendet werden sollen.
accessTokenCert
Ein Verweis auf einen Zeiger, der auf die Datenstruktur des Weave-Zertifikats für das Zugriffstoken-Zertifikat festgelegt wird. HINWEIS: Dieser Zeiger wird nur gesetzt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Ob die Zugriffstoken-Zertifikate erfolgreich geladen wurden.
tlv-errors
Weave-Fehler im Zusammenhang mit dem Lesen von TLV sind aufgetreten.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

LoadAccessTokenCerts

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

Laden Sie die Zertifikate in einem Zugriffstoken in einen Weave-Zertifikatsatz.

Diese Funktion liest ein Weave-Zugriffstoken von einem bestimmten TLVReader und lädt die Zugriffstoken-Zertifikate in das angegebene Weave-Zertifikatssatzobjekt. Wenn die Zugriffstokens ein oder mehrere zugehörige Zertifikate enthalten, werden diese ebenfalls in den Zertifikatsatz geladen.

Details
Parameter
reader
Ein TLVReader-Objekt, das sich direkt vor einem Weave Access Token befindet.
certSet
Der Zertifikatsatz, in den die Zugriffstoken-Zertifikate geladen werden sollen.
decodeFlags
Die Flags zur Zertifikatsdecodierung, die beim Laden der Zertifikate verwendet werden sollen.
accessTokenCert
Ein Verweis auf einen Zeiger, der auf die Datenstruktur des Weave-Zertifikats für das Zugriffstoken-Zertifikat festgelegt wird. HINWEIS: Dieser Wert wird nur festgelegt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Ob die Zugriffstoken-Zertifikate erfolgreich geladen wurden.
tlv-errors
Weave-Fehler im Zusammenhang mit dem Lesen von TLV sind aufgetreten.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Sonstige plattformspezifische Fehler.

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
)

Generieren Sie einen Bestätigungs-Hash (im Base-64-Format) für einen vorgegebenen Satz von Anmeldedaten für das Thermostat-Gerät.

Details
Parameter
[in] serialNum
Ein Zeiger auf einen Zwischenspeicher, der die Seriennummer des Geräts enthält.
[in] serialNumLen
Die Länge des Seriennummernstrings.
[in] deviceId
Ein Zeiger auf einen Zwischenspeicher, der die Geräte-ID enthält.
[in] deviceIdLen
Die Länge der Geräte-ID.
[in] deviceSecret
Ein Zeiger auf einen Zwischenspeicher, der das Secret des Geräts enthält.
[in] deviceSecretLen
Die Länge des Secret des Geräts.
[in,out] hashBuf
Ein Zeiger auf einen Zwischenspeicher, der den Verifizierungs-Hashwert im base-64-Format erhält. Der Ausgabestring hat einen Null-Vorgang. Dieser Zwischenspeicher sollte mindestens so groß sein wie kDeviceCredentialHashLength + 1.
[in] hashBufSize
Die Größe des Zwischenspeichers in Byte, auf den hashBuf verweist.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Methode erfolgreich war.
WEAVE_ERROR_INVALID_STRING_LENGTH
Wenn einer der Eingabewerte zu lang ist (> 65.535)
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der bereitgestellte Zwischenspeicher zu klein ist, um den generierten Hashwert aufzunehmen.

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
)

Generieren Sie einen Bestätigungs-Hash (im Base-64-Format) für einen bestimmten Satz an Weave-Bereitstellungsinformationen.

Details
Parameter
[in] nodeId
Die Weave-Knoten-ID des Geräts.
[in] weaveCert
Ein Zeiger auf einen Zwischenspeicher, der das Weave-Gerätezertifikat im base-64-Format enthält.
[in] weaveCertLen
Die Länge des Zertifikatswerts, auf den weaveCert verweist.
[in] weavePrivKey
Ein Zeiger auf einen Zwischenspeicher, der den privaten Schlüssel des Weave-Geräts im base-64-Format enthält.
[in] weavePrivKeyLen
Die Länge des privaten Schlüsselwerts, auf den weavePrivKey verweist.
[in] pairingCode
Ein Zeiger auf einen Zwischenspeicher, der den Gerätekopplungscode enthält.
[in] pairingCodeLen
Die Länge des Kopplungscodewerts, auf den "pairCode" verweist.
[in,out] hashBuf
Ein Zeiger auf einen Zwischenspeicher, der den Verifizierungs-Hashwert im base-64-Format erhält. Der Ausgabestring hat einen Null-Vorgang. Dieser Zwischenspeicher sollte mindestens so groß sein wie kWeaveProvisioningHashLength + 1.
[in] hashBufSize
Die Größe des Zwischenspeichers in Byte, auf den hashBuf verweist.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Methode erfolgreich war.
WEAVE_ERROR_INVALID_STRING_LENGTH
Wenn einer der Eingabewerte zu lang ist (> 65.535)
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der bereitgestellte Zwischenspeicher zu klein ist, um den generierten Hashwert aufzunehmen.

OIDToWeaveCurveId

uint32_t OIDToWeaveCurveId(
  ASN1::OID curveOID
)

PackCertTime

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

Wandeln Sie Datum/Uhrzeit eines Zertifikats in Form einer universellen ASN.1-Zeitstruktur in Datum/Uhrzeit für gepacktes Zertifikat um.

Datum und Uhrzeit des gepackten Zertifikats bieten eine kompakte Darstellung der Zeitwerte in einem Zertifikat (notBefore und notAfter), für die keine vollständigen Kalenderberechnungen erforderlich sind.

Ein gepacktes Datum/Uhrzeit in einem Zertifikat enthält die Felder eines Kalenderdatums/einer Kalenderuhrzeit. Jahr, Monat, Tag, Stunde, Minute, sekundengenau in eine vorzeichenlose Ganzzahl gepackt. Die Bitdarstellung ist so organisiert, dass Ordinalvergleiche von verpackten Datums-/Uhrzeitwerten der natürlichen Reihenfolge der entsprechenden Uhrzeiten entsprechen. Um ihre Größe zu reduzieren, dürfen Datum und Uhrzeiten für das gepackte Zertifikat nur Zeiten ab dem 01.01.2000 um 00:00:00 darstellen. Bei einer 32-Bit-Ganzzahl ohne Vorzeichen können Datum und Uhrzeit des gepackten Zertifikats bis zum Jahr 2133 dargestellt werden.

Details
Parameter
time
Kalenderdatum/-uhrzeit, die konvertiert werden sollen.
packedTime
Ein Verweis auf eine Ganzzahl, die Datum/Uhrzeit verpackt wird.
Rückgabewerte
WEAVE_NO_ERROR
Ob die Eingabezeit konvertiert wurde.
ASN1_ERROR_UNSUPPORTED_ENCODING
Die Eingabezeit enthielt einen Jahreswert, der nicht in einem gepackten Zertifikatszeitwert dargestellt werden konnte.

PackedCertDateToTime

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

Wandeln Sie das Datum eines gepackten Zertifikats in das entsprechende Datum und die entsprechende Uhrzeit um, wobei die Uhrzeit des Werts 00:00:00 ist.

Details
Parameter
packedDate
Das Datum des gepackten Zertifikats, das umgewandelt werden soll.
Rückgabe
Datum/Uhrzeit des entsprechenden Paketzertifikats.

PackedCertTimeToDate

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

Wandeln Sie Datum/Uhrzeit eines gepackten Zertifikats in ein gepacktes Zertifikat um.

Ein gepacktes Zertifikatsdatum enthält die Felder eines Kalenderdatumsjahrs und -monats, tagverpackt in einer vorzeichenlosen Ganzzahl. Die Bits sind so organisiert, dass Ordinalvergleiche gepackter Datumswerte der natürlichen Reihenfolge der entsprechenden Datumsangaben entsprechen. Um ihre Größe zu reduzieren, dürfen gepackte Zertifikatsdaten nur für Daten ab dem 01.01.2000 verwendet werden. Wenn es sich um eine 16-Bit-Ganzzahl ohne Vorzeichen handelt, können gepackte Zertifikatsdaten Daten bis zum Jahr 2176 darstellen.

Details
Parameter
packedTime
Datum und Uhrzeit des gepackten Zertifikats, das umgewandelt werden soll.
Rückgabe
Ein entsprechendes Paketzertifikatsdatum.

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
)

Rechnen Sie die Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC in ein gepacktes Zertifikat mit Datum/Uhrzeit um.

Details
Parameter
secondsSinceEpoch
Anzahl der Sekunden seit 01.01.1970 00:00:00 UTC. Hinweis: Dieser Wert ist mit positiven Werten des POSIX-Zeitwerts „time_t“ bis zum Jahr 2105 kompatibel.
Rückgabe
Datum/Uhrzeit des entsprechenden Paketzertifikats.

TranslateOpenSSLError

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

UnpackCertTime

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

Entpacken Sie das Datum und die Uhrzeit eines gepackten Zertifikats in eine universelle ASN.1-Zeitstruktur.

Details
Parameter
packedTime
Eine gepackte Zertifikatszeit zum Auspacken.
time
Ein Verweis auf eine ASN1UniversalTime-Struktur, um das entpackte Datum bzw. die entpackte Uhrzeit zu empfangen.
Rückgabewerte
WEAVE_NO_ERROR
Ob die Eingabezeit erfolgreich entpackt wurde.

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
)