Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::Sicherheit

Dieser Namespace enthält alle Weave-Schnittstellen für das Weave-Sicherheitsprofil.

Fazit

Aufzählungen

@235 enum
X.509-Flag-Schlüssel-Zweck-Flags.
@236 enum
X.509-Schlüssel zur Nutzung der Zertifikatschlüssel.
@237 enum
Webs Zertifikat-Flags.
@238 enum
Weave-Zertifikat-Decodierungs-Flags.
@239 enum
Weave Certificate Validator-Flags
@240 enum
@280 enum
@281 enum
@282 enum
@283 enum
@284 enum
@285 enum
@286 enum
@287 enum
@288 enum
@289 enum

Typdef.

GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig) Typdef
ECDSA-Signatur mit einem lokalen Weave-Knoten generieren.

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 CASEZertifikatsinformationen TLV, die die Zertifikate aus dem Zugriffstoken enthält.
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
Liest ein Weave-Zugriffstoken und schreibt eine TLV-Struktur für CASE-Zertifikatsinformationen mit den Zertifikaten aus dem Zugriffstoken.
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)
Allgemeinen Typ eines Weave-Zertifikats bestimmen.
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)
Erzeugen 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
Zertifikat für ein operatives Weave-Gerät generieren
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
Hiermit wird ein Bestätigungs-Hash im Basis-64-Format für einen bestimmten Satz von Anmeldedaten für den Thermostat generiert.
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 Basis-64-Format) für einen bestimmten Satz von Weave-Bereitstellungsinformationen.
OIDToWeaveCurveId(ASN1::OID curveOID)
uint32_t
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
NL_DLL_EXPORT WEAVE_ERROR
Wandeln Sie das Datum und die Uhrzeit eines Zertifikats in Form einer universellen ASN.1-Zeitstruktur in ein gepacktes Datum bzw. eine Uhrzeit für ein gepacktes Zertifikat um.
PackedCertDateToTime(uint16_t packedDate)
NL_DLL_EXPORT uint32_t
Wandeln Sie ein gepacktes Zertifikatsdatum in das entsprechende Datum bzw. die entsprechende Uhrzeit des verpackten Zertifikats um, wobei der Zeitabschnitt des Werts auf 00:00:00 gesetzt ist.
PackedCertTimeToDate(uint32_t packedTime)
NL_DLL_EXPORT uint16_t
Wandeln Sie ein Datum und eine Uhrzeit für ein gepacktes Zertifikat in ein gepacktes Datum.
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
Wandeln Sie die Anzahl der Sekunden seit dem 01.01.1970 um 00:00:00 Uhr (UTC) in ein gepacktes Datum bzw. eine Uhrzeit für das gepackte Zertifikat um.
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
NL_DLL_EXPORT WEAVE_ERROR
Entpacken Sie das Datum und die Uhrzeit eines verpackten 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::Profile::Sicherheit::CertificateKeyId
nl::Weave::Profile::Sicherheit::ValidationContext
nl::Weave::Profile::Sicherheit::WeaveCertificateData
nl::Weave::Profile::Sicherheit::WeaveCertificateSet
nl::Weave::Profile::Sicherheit::WeaveDN
nl::Weave::Profile::Sicherheit::WeaveProvisioningBundle
nl::Weave::Profile::Sicherheit::WeaveSignatureGenerator

Erzeugt eine WeaveSignature mit einem privaten In-Memory-Schlüssel.

nl::Weave::Profile::Sicherheit::WeaveSignatureGeneratorBase

Bietet allgemeine Funktionen zum Generieren von WeaveSignatures.

Namespaces

nl::Weave::Profile::Sicherheit::AppKeys

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

nl::Weave::Profile::Sicherheit::CASE

Dieser Namespace enthält alle Schnittstellen in Weave für das Protokoll zur Authentifizierung des Zertifikats authentifiziert (CASE) im Weave-Sicherheitsprofil.

nl::Weave::Profile::Sicherheit::CertProvisioning

Dieser Namespace enthält alle Schnittstellen in Weave für das Protokoll der Weave-Zertifikatbereitstellung im Weave-Sicherheitsprofil.

nl::Weave::Profile::Sicherheit::KeyExport

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

nl::Weave::Profile::Sicherheit::PASE

Dieser Namespace enthält alle Schnittstellen in Weave für das PASE-Protokoll (Password Authenticated Session Einrichten) im Weave-Sicherheitsprofil.

nl::Weave::Profile::Sicherheit::Sicherheitscodes

Dieser Namespace enthält alle Schnittstellen in Weave für die Weave-Sicherheitscodebibliothek im Weave-Sicherheitsprofil.

nl::Weave::Profile::Sicherheit::Take

Dieser Namespace enthält alle Schnittstellen in Weave für das Protokoll des authentifizierten Schlüsselaustauschs (take) innerhalb des Weave-Profils Sicherheit.

Aufzählungen

@235

 @235

X.509-Flag-Schlüssel-Zweck-Flags.

@236

 @236

X.509-Schlüssel zur Nutzung der Zertifikatschlüssel.

@237

 @237

Webs Zertifikat-Flags.

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

@238

 @238

Weave-Zertifikat-Decodierungs-Flags.

Enthält Informationen zur Decodierung eines Zertifikats.

@239

 @239

Weave Certificate Validator-Flags

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

Typdef.

GenerateECDSASignatureFunct

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

ECDSA-Signatur mit einem lokalen Weave-Knoten generieren.

Bei Aufrufen müssen Implementierungen eine Signatur für den angegebenen Hashwert mit dem privaten Schlüssel des Knotens berechnen.

Details
Parameter
[in] hash
Ein Zwischenspeicher mit dem Hash des Zertifikats, das signiert werden soll.
[in] hashLen
Die Länge des Hashs in Byte.
[in] ecdsaSig
Verweis auf das ecdsa-Signaturobjekt, in dem das Ergebnis dieser Funktion gespeichert wird
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 CASEZertifikatsinformationen TLV, die die Zertifikate aus dem Zugriffstoken enthält.

Diese Funktion decodiert ein bestimmtes Weave-Zugriffstoken und codiert das TLV für eine Weave-CASE-Zertifikatsinformationenstruktur. Das Feld „EntityCertificate“ in der Struktur „CertificateInfo“ wird auf das Zertifikat für das Zugriffstoken festgelegt. Das Feld „RelatedCertificates“ (falls vorhanden) wird auf das entsprechende Feld im Zugriffstoken festgelegt.

Details
Parameter
accessToken
Ein Zeiger auf einen Puffer, der ein codiertes Weave-Zugriffstoken enthält.
accessTokenLen
Länge des codierten Zugriffstokens
certInfoBuf
Ein Zeiger auf einen Puffer, in dem die CASE-Zertifikatsinformationen codiert werden sollen.
certInfoBufSize
Die Größe des Zwischenspeichers, auf den certInfoBuf verweist.
certInfoLen
Ein Verweis auf eine Ganzzahl wird auf die Länge der codierten Zertifikatinfostruktur festgelegt. HINWEIS: Dieser Wert wird nur festgelegt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Zugriffsstruktur für den CASE-Zertifikat erfolgreich codiert ist.
tlv-errors
Es treten Fehler auf, die sich auf das Lesen oder Schreiben von TLV beziehen.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere plattformspezifische Fehler

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Liest ein Weave-Zugriffstoken und schreibt eine TLV-Struktur für CASE-Zertifikatsinformationen mit den Zertifikaten aus dem Zugriffstoken.

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

Details
Parameter
[in] reader
Ein TLVReader auf dem Weave Access Token
[in] writer
Ein TLVWriter, der zur Aufzeichnung der Ausgabe des CASE-Zertifikats verwendet wird.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Zugriffsstruktur für den CASE-Zertifikat erfolgreich codiert ist.
tlv-errors
Es treten Fehler auf, die sich auf das Lesen oder Schreiben von TLV beziehen.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere plattformspezifische Fehler

ConvertAuthorityKeyIdentifierExtension

WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

Zertifikat konvertieren

WEAVE_ERROR ConvertCertificate(
  ASN1Reader & reader,
  TLVWriter & writer
)

Name der Conversion-Distinguished

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
)

Conversion-Erweiterung

WEAVE_ERROR ConvertExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

Conversion-Erweiterungen

WEAVE_ERROR ConvertExtensions(
  ASN1Reader & reader,
  TLVWriter & writer
)

KonvertierenderÖffentlicherSchlüsselInfo

WEAVE_ERROR ConvertSubjectPublicKeyInfo(
  ASN1Reader & reader,
  TLVWriter & writer
)

Gültigkeit

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
)

Konvertieren X509CertToWeaveCert

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
)

KonvertierenCert

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

DecodeConvertDN

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

DecodeConvertECDSA-Signatur

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
)

DecodeConvertRSA-Signatur

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
)

Decodierung und Gültigkeit

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

DecodeCopyECDSASignatur

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

Logo: DecodeWeaveCert

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

Logo: DecodeWeaveCert

WEAVE_ERROR DecodeWeaveCert(
  TLVReader & reader,
  WeaveCertificateData & certData
)

DecodeWeaveDN (DecodeWeaveDN)

WEAVE_ERROR DecodeWeaveDN(
  TLVReader & reader,
  WeaveDN & dn
)

DecodeWeaveECDSA-Signatur

WEAVE_ERROR DecodeWeaveECDSASignature(
  TLVReader & reader,
  EncodedECDSASignature & sig
)

DecodeWeaveECKey

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

Beschreiben wirWeaveCertId

const char * DescribeWeaveCertId(
  OID attrOID,
  uint64_t weaveCertId
)

Bestimmen des Typs

WEAVE_ERROR DetermineCertType(
  WeaveCertificateData & cert
)

Allgemeinen Typ eines Weave-Zertifikats bestimmen.

Diese Funktion führt eine allgemeine Bewertung eines Zertifikatstyps auf Basis der Struktur des zugehörigen DN des Subjekts und der vorhandenen Erweiterungen durch. Anwendungen können diese Prüfung überschreiben, indem Sie cert.CertType auf einen anderen Wert setzen, einschließlich eines anwendungsdefinierten Werts.

Im Allgemeinen vertrauen Anwendungen nur dann auf ein Peer-Zertifikat, wenn es mit einem vertrauenswürdigen Root-Zertifikat verkettet ist. Der einem Zertifikat zugewiesene Typ kann jedoch die Natur dieser Vertrauensstellung beeinflussen, z.B. um den Zugriff auf bestimmte Funktionen zuzulassen oder zu verbieten. Daher können Änderungen an diesem Algorithmus SEHR ERKLÄRUNGS- und POTENZIELLEN KATASTROPHIC auf die allgemeine Systemsicherheit haben. Daher sollten sie nicht gründlich erläutert werden.

HINWEIS: Zugriffstokenzertifikate können nicht nur durch ihre Struktur unterschieden werden. Daher wird mit dieser Funktion nie cert.CertType = kCertType_AccessToken festgelegt.

CodiertWeaveECDSASignature

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

CodiertWeaveECPrivateKey

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

Extrahiert ausZugriffstoken

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 von einem TLVReader und schreibt das Zugriffstokenzertifikat in einen angegebenen TLVWriter.

Details
Parameter
[in] reader
Ein TLVReader auf dem Weave Access Token
[in] writer
Ein TLVWriter, in den das Zertifikat geschrieben wird.
[in] tag
Das TLV-Tag, das beim Schreiben des Zertifikats verwendet wird.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Zugriffsstruktur für den CASE-Zertifikat erfolgreich codiert ist.
tlv-errors
Es treten Fehler auf, die sich auf das Lesen oder Schreiben von TLV beziehen.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere plattformspezifische Fehler

Extrahiert PrivateKeyFromAccessToken

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 Puffer, der ein codiertes Weave-Zugriffstoken enthält.
accessTokenLen
Länge des codierten Zugriffstokens
privKeyBuf
Ein Zeiger auf einen Zwischenspeicher, in dem die private Schlüsselstruktur 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
Wenn der private Schlüssel erfolgreich extrahiert wurde.
tlv-errors
Es treten Fehler auf, die sich auf das Lesen oder Schreiben von TLV beziehen.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere plattformspezifische Fehler

Extrahiert PrivateKeyFromAccessToken

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 auf dem Weave Access Token
[in] writer
Ein TLVWriter, in den der private Schlüssel geschrieben wird.
Rückgabewerte
WEAVE_NO_ERROR
Wenn der private Schlüssel erfolgreich extrahiert wurde.
tlv-errors
Es treten Fehler auf, die sich auf das Lesen oder Schreiben von TLV beziehen.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere plattformspezifische Fehler

GenerateAndEncodingWeaveECDSASignatur

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

Erzeugen und codieren Sie eine Weave-ECDSA-Signatur.

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

Details
Parameter
[in] writer
Das TLVWriter-Objekt, in das die codierte Signatur geschrieben werden soll.
[in] tag
TLV-Tag, das der codierten Signaturstruktur zugeordnet werden soll.
[in] msgHash
Ein Zwischenspeicher mit dem Hash der zu signierenden Nachricht.
[in] msgHashLen
Die Länge des Nachrichten-Hashs in Byte.
[in] signingKey
Ein Zwischenspeicher mit dem privaten Schlüssel zum Erstellen der Signatur. Der private Schlüssel wird voraussichtlich als TLV-Struktur des Weave EllipticCurvePrivateKey codiert.
[in] signingKeyLen
Die Länge des codierten privaten Schlüssels.
Rückgabewerte
WEAVE_NO_ERROR
Wenn der Vorgang erfolgreich war.
other
Andere Weave-Fehlercodes beim Decodieren des privaten Schlüssels, zum Generieren der Signatur oder zum Codieren der Signatur.

GeneriertDeviceDeviceCert

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

Zertifikat für ein operatives Weave-Gerät generieren

Diese Funktion generiert ein selbst signiertes Weave-Zertifikat im Weave-TLV-Format.

Details
Parameter
deviceId
ID des operativen Geräts
devicePubKey
Öffentlicher Webschlüssel für operatives Gerät.
cert
Ein Zeiger auf einen Zwischenspeicher, in dem das generierte Zertifikat geschrieben wird.
certBufSize
Die Länge des angegebenen Zertifikatzwischenspeichers in Byte.
certLen
Die Länge des generierten Zertifikats in Byte.
genCertSignature
Ein Zeiger auf eine Funktion, die eine ECDSA-Signatur für den angegebenen Zertifikat-Hash mit dem privaten Schlüssel des operativen Geräts generiert.
Rückgabewerte
WEAVE_NO_ERROR
Wenn das Weave-Zertifikat erfolgreich erstellt wurde.

GetWeaveSignatureAlgo

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

Einrücken

void Indent(
  FILE *out,
  uint16_t count
)

InsertRelatedCertificatesIntoWeaveSignature einfügen

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
)

Ist Unterstützt

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-Zertifikatsobjekt. Wenn die Zugriffstokens ein oder mehrere zugehörige Zertifikate enthalten, werden diese ebenfalls in die Zertifikatsgruppe geladen.

Details
Parameter
accessToken
Ein Zeiger auf einen Puffer, der ein codiertes Weave-Zugriffstoken enthält.
accessTokenLen
Länge des codierten Zugriffstokens
certSet
Das Zertifikat, in das die Zugriffstoken-Zertifikate geladen werden sollen.
decodeFlags
Die Zertifikat-Decodierungs-Flags, die beim Laden der Zertifikate verwendet werden sollen
accessTokenCert
Ein Verweis auf einen Zeiger, der auf die Datenstruktur des Weave-Zertifikats für das Zugriffstokenzertifikat festgelegt wird. HINWEIS: Dieser Zeiger wird nur festgelegt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Die Zugriffstoken-Zertifikate wurden geladen.
tlv-errors
Fehler beim Lesen von TLV.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere 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-Zertifikatsobjekt. Wenn die Zugriffstokens ein oder mehrere zugehörige Zertifikate enthalten, werden diese ebenfalls in die Zertifikatsgruppe geladen.

Details
Parameter
reader
Ein TLVReader-Objekt, das sich unmittelbar vor einem Weave-Zugriffstoken befindet
certSet
Das Zertifikat, in das die Zugriffstoken-Zertifikate geladen werden sollen.
decodeFlags
Die Zertifikat-Decodierungs-Flags, die beim Laden der Zertifikate verwendet werden sollen
accessTokenCert
Ein Verweis auf einen Zeiger, der auf die Datenstruktur des Weave-Zertifikats für das Zugriffstokenzertifikat festgelegt wird. HINWEIS: Dieser Wert wird nur festgelegt, wenn die Funktion erfolgreich zurückgegeben wird.
Rückgabewerte
WEAVE_NO_ERROR
Die Zugriffstoken-Zertifikate wurden geladen.
tlv-errors
Fehler beim Lesen von TLV.
cert-errors
Weave-Fehler im Zusammenhang mit der Decodierung von Weave-Zertifikaten.
platform-errors
Andere 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
)

Hiermit wird ein Bestätigungs-Hash im Basis-64-Format für einen bestimmten Satz von Anmeldedaten für den Thermostat generiert.

Details
Parameter
[in] serialNum
Ein Zeiger auf einen Zwischenspeicher mit der Seriennummer des Geräts.
[in] serialNumLen
Die Länge des Seriennummernstrings.
[in] deviceId
Ein Zeiger auf einen Zwischenspeicher mit der Geräte-ID.
[in] deviceIdLen
Länge der Geräte-ID.
[in] deviceSecret
Ein Zeiger auf einen Zwischenspeicher mit dem geheimen Gerät.
[in] deviceSecretLen
Die Länge des Secrets.
[in,out] hashBuf
Ein Zeiger auf einen Zwischenspeicher, der den Bestätigungs-Hashwert im Base-64-Format erhält. Der Ausgabestring wird null beendet. Dieser Puffer sollte mindestens so groß sein wie „kDeviceCredentialHashLength + 1“.
[in] hashBufSize
Die Größe des Zwischenspeichers in Byte, auf die HashBuf verweist.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Methode erfolgreich war.
WEAVE_ERROR_INVALID_STRING_LENGTH
Einer der eingegebenen Werte ist zu lang (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der angegebene Puffer zu klein ist, um den generierten Hashwert zu halten.

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 Basis-64-Format) für einen bestimmten Satz von Weave-Bereitstellungsinformationen.

Details
Parameter
[in] nodeId
Die Weave-Knoten-ID des Geräts.
[in] weaveCert
Ein Zeiger auf einen Puffer, der das Weave-Gerätezertifikat im Base-64-Format enthält.
[in] weaveCertLen
Die Länge des Zertifikatwerts, auf den „weaveCert“ verweist.
[in] weavePrivKey
Ein Zeiger auf einen Puffer, der den privaten Weave-Schlüssel im Base-64-Format enthält.
[in] weavePrivKeyLen
Die Länge des Werts des privaten Schlüssels, auf den „weavePrivKey“ verweist.
[in] pairingCode
Ein Zeiger auf einen Zwischenspeicher mit dem Kopplungscode des Geräts.
[in] pairingCodeLen
Die Länge des Kopplungscodewerts, auf die Kopplungscode verweist.
[in,out] hashBuf
Ein Zeiger auf einen Zwischenspeicher, der den Bestätigungs-Hashwert im Base-64-Format erhält. Der Ausgabestring wird null beendet. Dieser Puffer sollte mindestens so groß wie kWeaveProvisioningHashLength + 1 sein.
[in] hashBufSize
Die Größe des Zwischenspeichers in Byte, auf die HashBuf verweist.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Methode erfolgreich war.
WEAVE_ERROR_INVALID_STRING_LENGTH
Einer der eingegebenen Werte ist zu lang (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn der angegebene Puffer zu klein ist, um den generierten Hashwert zu halten.

Logo: OIDToWeaveCurveId

uint32_t OIDToWeaveCurveId(
  ASN1::OID curveOID
)

Packungszeit

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

Wandeln Sie das Datum und die Uhrzeit eines Zertifikats in Form einer universellen ASN.1-Zeitstruktur in ein gepacktes Datum bzw. eine Uhrzeit für ein gepacktes Zertifikat um.

Datum und Uhrzeit des verpackten Zertifikats stellen eine kompakte Darstellung für die Zeitwerte innerhalb eines Zertifikats (notBefore und notAfter) dar, die keine vollständige Berechnung der Kalenderdaten erfordern.

Ein verpacktes Zertifikatsdatum/-datum enthält die Felder eines Kalenderdatums/-datums, d.h. Jahr, Monat, Tag, Stunde, Minute – verpackt in einer nicht signierten Ganzzahl. Die Bit-Darstellung ist so angeordnet, dass ein normaler Vergleich der zusammengefassten Datums- und Uhrzeitwerte der natürlichen Reihenfolge der entsprechenden Zeiten entspricht. Zur Reduzierung der Größe sind die Zeitangaben für verpackte Zertifikate auf einen Zeitraum beschränkt, der am oder nach dem 01.01.2000 00:00:00 liegt. Wenn diese innerhalb einer 32-Bit-Ganzzahl ohne Vorzeichen liegt, können Datum und Uhrzeit des verpackten Zertifikats Zeit bis zum Jahr 2133 darstellen.

Details
Parameter
time
Das Datum bzw. die Uhrzeit des Kalenders, der konvertiert werden soll.
packedTime
Ein Verweis auf eine Ganzzahl, die das Datum/die Uhrzeit im Paket erhält.
Rückgabewerte
WEAVE_NO_ERROR
Die Eingabezeit wurde konvertiert.
ASN1_ERROR_UNSUPPORTED_ENCODING
Wenn die Eingabezeit einen Jahreswert enthält, der nicht in einem gepackten Zertifikatzeitwert dargestellt werden konnte

PackedCertDateToTime (UTC-8)

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

Wandeln Sie ein gepacktes Zertifikatsdatum in das entsprechende Datum bzw. die entsprechende Uhrzeit des verpackten Zertifikats um, wobei der Zeitabschnitt des Werts auf 00:00:00 gesetzt ist.

Details
Parameter
packedDate
Das Datum, an dem das Zertifikat konvertiert werden soll.
Rückgabe
Ein entsprechendes Paketzertifikat mit Datum und Uhrzeit.

PackedCertTimeToDate

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

Wandeln Sie ein Datum und eine Uhrzeit für ein gepacktes Zertifikat in ein gepacktes Datum.

Ein verpacktes Zertifikatsdatum enthält die Felder eines Kalenderdatums, -monats und in einer nicht signierten Ganzzahl verpackt. Die Bits sind so strukturiert, dass die normalen ordinalen Vergleiche von Paketdaten der natürlichen Anordnung der entsprechenden Datumsangaben entsprechen. Zur Reduzierung der Größe sind die Paketdaten auf das Datum am oder nach dem 01.01.2000 beschränkt. Wenn diese innerhalb einer 16-Bit-Ganzzahl ohne Vorzeichen liegt, kann das vorgefertigte Datum für das Jahr bis das Jahr 2176 reichen.

Details
Parameter
packedTime
Das Datum/die Uhrzeit des verpackten Zertifikats, das konvertiert werden soll.
Rückgabe
Ein entsprechendes Paketzertifikatsdatum.

ParseWeaveIdAttribute (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
)

Signatur für PrintECDSA

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
)

Gedrucktes Datum

void PrintPackedDate(
  FILE *out,
  uint16_t t
)

Abgepackte Zeit

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
)

SekundenSeitEpochEpoche richtiger Zeit

NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime(
  uint32_t secondsSinceEpoch
)

Wandeln Sie die Anzahl der Sekunden seit dem 01.01.1970 um 00:00:00 Uhr (UTC) in ein gepacktes Datum bzw. eine Uhrzeit für das gepackte Zertifikat um.

Details
Parameter
secondsSinceEpoch
Anzahl der Sekunden seit 01.01.1970 00:00:00 UTC Hinweis: Dieser Wert ist bis zu einem Jahr 2105 mit positiven Werten des POSIX-Zeitwerts kompatibel.
Rückgabe
Ein entsprechendes Paketzertifikat mit Datum und Uhrzeit.

ÜbersetzerOpenSSL-Fehler

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

Entpacken Zeit

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

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

Details
Parameter
packedTime
Ein Zeitraum zum Entpacken von Zertifikaten.
time
Ein Verweis auf eine ASN1UniversalTime-Struktur, um das entpackte Datum bzw. die entpackte Zeit zu erhalten.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Eingabezeit erfolgreich entpackt wurde.

WeaveSignature bestätigen

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

WeaveSignature bestätigen

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
)