nl:: Weave:: Profiles:: Security
Cet espace de noms inclut toutes les interfaces de Weave pour le profil Security de Weave.
Résumé
Énumérations |
|
---|---|
@235
|
enum indicateurs d'objectif de clé du certificat X.509. |
@236
|
enum Indicateurs d'utilisation des clés du certificat X.509. |
@237
|
enum Drapeaux de certificat Weave. |
@238
|
enum Indicateurs de décodage de certificat Weave. |
@239
|
enum Indicateurs de validation du certificat Weave. |
@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 Générez une signature ECDSA à l'aide de la clé privée du nœud Weave local. |
Variables |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
distantes |
|
---|---|
CASECertInfoFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen)
|
|
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
|
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)
|
Déterminer le type général d'un certificat 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)
|
Lit un jeton d'accès Weave et extrait le certificat de jeton d'accès.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Lit un jeton d'accès Weave et extrait la clé privée.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Lit un jeton d'accès Weave et extrait la clé privée.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Générez et encodez une signature ECDSA Weave.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
Générez un certificat d'appareil opérationnel 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)
|
Chargez les certificats d'un jeton d'accès dans un jeu de certificats Weave.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Chargez les certificats d'un jeton d'accès dans un jeu de certificats 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
Générez un hachage de validation (au format base64) pour un ensemble donné d'identifiants de l'appareil du thermostat.
|
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
Générez un hachage de validation (au format base64) pour un ensemble donné d'informations de provisionnement Weave.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
Convertir les dates et heures d'un certificat (sous la forme d'une structure de temps universel ASN.1) en date/heure de certificat empaqueté
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Convertir une date de certificat compressé en une date/heure correspondante, où la partie heure de la valeur est définie sur 00:00:00.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Convertir une date et une heure de certificat compressé en date de certificat complet.
|
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
Convertir le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC en une date/heure de certificat empaqueté.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Décompressez la date et l'heure d'un certificat empaqueté dans une structure de temps universel 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
|
Classes |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Génère une signature WeaveSignature à l'aide d'une clé privée en mémoire. |
nl:: |
Fournit une fonctionnalité générique pour générer des signatures WeaveSignatures. |
Espaces de noms |
|
---|---|
nl:: |
Cet espace de noms inclut toutes les interfaces de Weave pour la bibliothèque de clés d'application Weave dans le profil de sécurité Weave. |
nl:: |
Cet espace de noms inclut toutes les interfaces de Weave pour le protocole CASE (Certificate Authenticated Session Establishment) dans le profil de sécurité Weave. |
nl:: |
Cet espace de noms inclut toutes les interfaces de Weave associées au protocole de provisionnement des certificats Weave dans le profil de sécurité Weave. |
nl:: |
Cet espace de noms inclut toutes les interfaces de Weave associées au protocole d'exportation de clé dans le profil de sécurité Weave. |
nl:: |
Cet espace de noms inclut toutes les interfaces dans Weave associées au protocole PASE (Password Authenticated Session Establishment) dans le profil de sécurité Weave. |
nl:: |
Cet espace de noms inclut toutes les interfaces de Weave pour la bibliothèque de codes secrets Weave dans le profil de sécurité Weave. |
nl:: |
Cet espace de noms inclut toutes les interfaces de Weave pour le protocole TAKE (Token Authenticated Key Exchange) dans le profil Security de Weave. |
Énumérations
@235
@235
indicateurs d'objectif de clé du certificat X.509.
@236
@236
Indicateurs d'utilisation des clés du certificat X.509.
@237
@237
Drapeaux de certificat Weave.
Contient des informations sur un certificat chargé dans un objet WeaveCertSet.
@238
@238
Indicateurs de décodage de certificat Weave.
Contient des informations spécifiant la manière dont un certificat doit être décodé.
@239
@239
Indicateurs de validation du certificat Weave.
Contient des informations spécifiant la manière dont un certificat doit être validé.
@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)
Générez une signature ECDSA à l'aide de la clé privée du nœud Weave local.
Lorsqu'elles sont appelées, les implémentations doivent calculer une signature à partir de la valeur de hachage donnée à l'aide de la clé privée du nœud.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
Variables
gProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
distantes
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Lit un jeton d'accès Weave et construit une structure d'informations de certificat CASE TLV contenant les certificats du jeton d'accès.
Cette fonction décode un jeton d'accès Weave donné et encode le TLV pour une structure d'informations du certificat Weave CASE. Le champ "EntityCertificate" de la structure CertificateInfo est défini sur le certificat du jeton d'accès, tandis que le champ "relatedCertificates" (s'il est présent) est défini sur le champ correspondant au sein du jeton d'accès.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Valeurs de retour |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Lit un jeton d'accès Weave et écrit une structure d'informations de certificat CASE TLV contenant les certificats du jeton d'accès.
Cette fonction lit un jeton d'accès Weave à partir d'un TLVReader donné et écrit le TLV pour une structure d'informations du certificat CASE Weave sur un TLVWriter. Le champ "EntityCertificate" de la structure CertificateInfo est défini sur le certificat du jeton d'accès, tandis que le champ "relatedCertificates" (s'il est présent) est défini sur le champ correspondant au sein du jeton d'accès.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
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 )
Déterminer le type général d'un certificat Weave.
Cette fonction effectue une évaluation générale du type d'un certificat en fonction de la structure du nom distinctif de l'objet et des extensions présentes. Les applications sont libres de remplacer cette évaluation en définissant cert.CertType sur une autre valeur, y compris une valeur définie par l'application.
En général, les applications n'approuvent le certificat d'un pair que s'il est relié à un certificat racine approuvé. Cependant, le type attribué à un certificat peut influencer la nature de cette approbation, par exemple pour autoriser ou interdire l'accès à certaines fonctionnalités. De ce fait, les modifications apportées à cet algorithme peuvent avoir des effets TRÈS IMPORTANTS et CATASTROPHIQUES sur la sécurité globale du système, et ne doivent pas être apportées sans une compréhension approfondie de leurs implications.
REMARQUE: Les certificats de jeton d'accès ne peuvent pas être distingués uniquement par leur structure. Ainsi, cette fonction ne définit jamais cert.CertType sur kCertType_AccessToken.
EncodeWeaveECDSASignature
WEAVE_ERROR EncodeWeaveECDSASignature( TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag )
EncodeWeaveECPrivateKey
NL_DLL_EXPORT WEAVE_ERROR EncodeWeaveECPrivateKey( uint32_t weaveCurveId, const EncodedECPublicKey *pubKey, const EncodedECPrivateKey & privKey, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outLen )
ExtractCertFromAccessToken
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
Lit un jeton d'accès Weave et extrait le certificat de jeton d'accès.
Cette fonction lit un jeton d'accès Weave à partir d'un TLVReader et écrit le certificat de jeton d'accès sur un TLVWriter spécifié.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Lit un jeton d'accès Weave et extrait la clé privée.
Cette fonction décode un jeton d'accès Weave donné et extrait le champ de clé privée du jeton.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Valeurs de retour |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Lit un jeton d'accès Weave et extrait la clé privée.
Cette fonction décode un jeton d'accès Weave donné et extrait le champ de clé privée du jeton.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Générez et encodez une signature ECDSA Weave.
Calcule une signature ECDSA à l'aide d'une clé privée et d'un hachage de message donnés, puis écrive la signature en tant que structure Weave ECDSASignature pour le rédacteur TLV spécifié avec la balise donnée.
Détails | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||
Valeurs de retour |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Générez un certificat d'appareil opérationnel Weave.
Cette fonction génère un certificat opérationnel autosigné et encodé au format TLV Weave.
Détails | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||
Valeurs de retour |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Mettre en retrait
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 )
Chargez les certificats d'un jeton d'accès dans un jeu de certificats Weave.
Cette fonction décode un jeton d'accès Weave donné et charge les certificats de jeton d'accès dans l'objet d'ensemble de certificats Weave spécifié. Si les jetons d'accès contiennent un ou plusieurs certificats associés, ils sont également chargés dans le jeu de certificats.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Valeurs de retour |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Chargez les certificats d'un jeton d'accès dans un jeu de certificats Weave.
Cette fonction lit un jeton d'accès Weave à partir d'un TLVReader donné et charge les certificats de jeton d'accès dans l'objet d'ensemble de certificats Weave spécifié. Si les jetons d'accès contiennent un ou plusieurs certificats associés, ils sont également chargés dans le jeu de certificats.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
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 )
Générez un hachage de validation (au format base64) pour un ensemble donné d'identifiants de l'appareil du thermostat.
Détails | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||
Valeurs de retour |
|
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 )
Générez un hachage de validation (au format base64) pour un ensemble donné d'informations de provisionnement Weave.
Détails | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||||
Valeurs de retour |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Convertir les dates et heures d'un certificat (sous la forme d'une structure de temps universel ASN.1) en date/heure de certificat empaqueté
Les dates et heures d'un certificat empaqueté fournissent une représentation compacte des valeurs temporelles d'un certificat (notBefore et notAfter) dont l'interprétation ne nécessite pas de calculs mathématiques complets.
Une date/heure de certificat complet contient les champs d'une date/heure du calendrier (année, mois, jour, heure, minute, seconde) dans un entier non signé. La représentation en bits est organisée de sorte que les comparaisons ordinales des valeurs de date/heure regroupées correspondent à l'ordre naturel des heures correspondantes. Pour réduire leur taille, les dates et heures des certificats empaquetés sont limitées à des heures à partir du 2000/01/01 00:00:00. Lorsqu'il est hébergé dans un entier non signé de 32 bits, la date et l'heure du certificat empaqueté peuvent représenter des périodes allant jusqu'à l'année 2133.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Convertir une date de certificat compressé en une date/heure correspondante, où la partie heure de la valeur est définie sur 00:00:00.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
La date/l'heure du certificat de paquet correspondant.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Convertir une date et une heure de certificat compressé en date de certificat complet.
Une date de certificat complet contient les champs d'un calendrier année, mois, jour empaquetée dans un entier non signé. Les bits sont organisés de manière à ce que les comparaisons ordinales des valeurs de date regroupées correspondent à l'ordre naturel des dates correspondantes. Pour réduire leur taille, les dates de certificat sont limitées à des dates ultérieures au 01/01/2000. Lorsqu'elles sont hébergées dans un entier non signé de 16 bits, les dates de certificat empaquetées peuvent représenter des dates remontant jusqu'à l'année 2176.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
La date du certificat de paquet correspondante.
|
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 )
Convertir le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC en une date/heure de certificat empaqueté.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
La date/l'heure du certificat de paquet correspondant.
|
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Décompressez la date et l'heure d'un certificat empaqueté dans une structure de temps universel ASN.1.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
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 )