nl:: Weave:: Profiles:: Security
Questo spazio dei nomi include tutte le interfacce all'interno di Weave per il profilo Security di Weave.
Riepilogo
Enumerazioni |
|
|---|---|
@235
|
enum Flag scopo chiave dei certificati X.509. |
@236
|
enum Flag di utilizzo della chiave del certificato X.509. |
@237
|
enum Flag dei certificati Weave. |
@238
|
enum Flag di decodifica dei certificati Weave. |
@239
|
enum Flag di convalida dei certificati Weave. |
@240
|
enum |
@280
|
enum |
@281
|
enum |
@282
|
enum |
@283
|
enum |
@284
|
enum |
@285
|
enum |
@286
|
enum |
@287
|
enum |
@288
|
enum |
@289
|
enum |
Typedef |
|
|---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
typedef Genera una firma ECDSA utilizzando la chiave privata del nodo Weave locale. |
Variabili |
|
|---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
Funzioni |
|
|---|---|
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)
|
Determinare il tipo generale di certificato 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)
|
Legge un token di accesso Weave ed estrae il certificato del token di accesso.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Legge un token di accesso Weave ed estrae la chiave privata.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Legge un token di accesso Weave ed estrae la chiave privata.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Genera e codifica una firma ECDSA di Weave.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
Genera il certificato del dispositivo operativo 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)
|
Carica i certificati in un token di accesso in un set di certificati Weave.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Carica i certificati in un token di accesso in un set di certificati 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
Genera un hash di verifica (in formato base-64) per un determinato insieme di credenziali del dispositivo del termostato.
|
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
Genera un hash di verifica (in formato base-64) per un determinato insieme di informazioni di provisioning Weave.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
Converti la data e l'ora di un certificato (sotto forma di struttura temporale universale ASN.1) in data/ora pacchettizzata.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Converti la data di un certificato compresso in una data/ora corrispondente di un certificato compresso, in cui la parte di tempo del valore è impostata su 00:00:00.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Converti la data/ora di un certificato pacchettizzato in una data di certificato compresso.
|
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
Converti il numero di secondi a partire da 1970-01-01 00:00:00 UTC in una data/ora di un certificato compresso.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Apri la data e l'ora di un certificato pacchettizzato in una struttura temporale universale 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
|
Corsi |
|
|---|---|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
Genera una WeaveSignature utilizzando una chiave privata in memoria. |
|
nl:: |
Fornisce funzionalità generiche per la generazione di WeaveSignature. |
Spazi dei nomi |
|
|---|---|
|
nl:: |
Questo spazio dei nomi include tutte le interfacce all'interno della libreria delle chiavi dell'applicazione Weave for the Weave all'interno del profilo di sicurezza Weave. |
|
nl:: |
Questo spazio dei nomi include tutte le interfacce all'interno di Weave per il protocollo CASE (Certificate Authenticated Session Stabilirement) all'interno del profilo di sicurezza di Weave. |
|
nl:: |
Questo spazio dei nomi include tutte le interfacce di Weave per il protocollo di provisioning dei certificati Weave all'interno del profilo di sicurezza Weave. |
|
nl:: |
Questo spazio dei nomi include tutte le interfacce di Weave per il protocollo di esportazione delle chiavi nel profilo di sicurezza di Weave. |
|
nl:: |
Questo spazio dei nomi include tutte le interfacce di Weave per il protocollo PASE (Password Authenticated Session Stabilirement) all'interno del profilo di sicurezza di Weave. |
|
nl:: |
Questo spazio dei nomi include tutte le interfacce di Weave per la libreria dei passcode di Weave all'interno del profilo di sicurezza Weave. |
|
nl:: |
Questo spazio dei nomi include tutte le interfacce di Weave per il protocollo TAKE (Token Authenticated Key Exchange) all'interno del profilo Security di Weave. |
Enumerazioni
@235
@235
Flag scopo chiave dei certificati X.509.
@236
@236
Flag di utilizzo della chiave del certificato X.509.
@237
@237
Flag dei certificati Weave.
Contiene informazioni su un certificato che è stato caricato in un oggetto WeaveCertSet.
@238
@238
Flag di decodifica dei certificati Weave.
Contiene informazioni che specificano come decodificare un certificato.
@239
@239
Flag di convalida dei certificati Weave.
Contiene informazioni che specificano le modalità di convalida di un certificato.
@240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Typedef
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
Genera una firma ECDSA utilizzando la chiave privata del nodo Weave locale.
Se richiamato, le implementazioni devono calcolare una firma sul valore hash specificato usando la chiave privata del nodo.
| Dettagli | |||||||
|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||
| Valori restituiti |
|
||||||
Variabili
gProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
Funzioni
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Legge un token di accesso Weave e crea una struttura di informazioni sul certificato CASE TLV contenente i certificati dal token di accesso.
Questa funzione decodifica un determinato token di accesso Weave e codifica il valore TLV per una struttura di informazioni sul certificato CASE di Weave. Il campo EntityCertificate nella struttura CertificateInfo è impostato sul certificato del token di accesso, mentre il campo ConnectedCertificates (se presente) è impostato sul campo corrispondente all'interno del token di accesso.
| Dettagli | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||
| Valori restituiti |
|
||||||||||
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Legge un token di accesso Weave e scrive una struttura di informazioni certificato CASE TLV contenente i certificati dal token di accesso.
Questa funzione legge un token di accesso Weave da un determinato TLVReader e scrive il TLV per una struttura di informazioni sul certificato CASE di Weave in un TLVWriter. Il campo EntityCertificate nella struttura CertificateInfo è impostato sul certificato del token di accesso, mentre il campo ConnectedCertificates (se presente) è impostato sul campo corrispondente all'interno del token di accesso.
| Dettagli | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||
| Valori restituiti |
|
||||||||
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 )
Determinare il tipo generale di certificato Weave.
Questa funzione esegue una valutazione generale del tipo di certificato in base alla struttura del DN soggetto e alle estensioni presenti. Le applicazioni possono ignorare questa valutazione impostando cert.CertType su un altro valore, incluso uno definito dall'applicazione.
In generale, le applicazioni considerano attendibile un certificato peer solo se è concatenato a un certificato radice attendibile. Tuttavia, il tipo assegnato a un certificato può influenzare la natura di questa attendibilità, ad esempio per consentire o meno l'accesso a determinate funzionalità. Per questo motivo, le modifiche a questo algoritmo possono avere effetti MOLTO SIGNIFICATIVI e POTENZIAMENTE CATASTROFICI sulla sicurezza complessiva del sistema e non dovrebbero essere apportate senza una conoscenza approfondita delle implicazioni.
NOTA: i certificati dei token di accesso non possono essere distinti solo in base alla loro struttura. Di conseguenza questa funzione non imposta mai cert.CertType = 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 )
Legge un token di accesso Weave ed estrae il certificato del token di accesso.
Questa funzione legge un token di accesso Weave da un TLVReader e scrive il certificato del token di accesso in un TLVWriter specificato.
| Dettagli | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||
| Valori restituiti |
|
||||||||
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Legge un token di accesso Weave ed estrae la chiave privata.
Questa funzione decodifica un determinato token di accesso Weave ed estrae il campo della chiave privata dal token.
| Dettagli | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||
| Valori restituiti |
|
||||||||||
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Legge un token di accesso Weave ed estrae la chiave privata.
Questa funzione decodifica un determinato token di accesso Weave ed estrae il campo della chiave privata dal token.
| Dettagli | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||
| Valori restituiti |
|
||||||||
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Genera e codifica una firma ECDSA di Weave.
Calcola una firma ECDSA utilizzando una determinata chiave privata e un hash messaggio e scrive la firma come struttura Weave ECDSASignature per lo scrittore TLV specificato con il tag specificato.
| Dettagli | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||||
| Valori restituiti |
|
||||||||||||
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Genera il certificato del dispositivo operativo Weave.
Questa funzione genera un certificato operativo autofirmato Weave codificato nel formato TLV di Weave.
| Dettagli | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||||
| Valori restituiti |
|
||||||||||||
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Rientro
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 )
Carica i certificati in un token di accesso in un set di certificati Weave.
Questa funzione decodifica un determinato token di accesso Weave e carica i certificati del token di accesso nell'oggetto set di certificati Weave specificato. Se i token di accesso contengono uno o più certificati correlati, anche questi vengono caricati nel set di certificati.
| Dettagli | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||
| Valori restituiti |
|
||||||||||
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Carica i certificati in un token di accesso in un set di certificati Weave.
Questa funzione legge un token di accesso Weave da un determinato TLVReader e carica i certificati del token di accesso nell'oggetto set di certificati Weave specificato. Se i token di accesso contengono uno o più certificati correlati, anche questi vengono caricati nel set di certificati.
| Dettagli | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||
| Valori restituiti |
|
||||||||
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 )
Genera un hash di verifica (in formato base-64) per un determinato insieme di credenziali del dispositivo del termostato.
| Dettagli | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||||||||
| Valori restituiti |
|
||||||||||||||||
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 )
Genera un hash di verifica (in formato base-64) per un determinato insieme di informazioni di provisioning Weave.
| Dettagli | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parametri |
|
||||||||||||||||||
| Valori restituiti |
|
||||||||||||||||||
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Converti la data e l'ora di un certificato (sotto forma di struttura temporale universale ASN.1) in data/ora pacchettizzata.
Le date e gli orari dei certificati compressi forniscono una rappresentazione compatta dei valori temporali all'interno di un certificato (notBefore e notAfter) che non richiedono l'interpretazione matematica del calendario completo.
La data e l'ora di un certificato compresso contengono i campi di una data o un orario di calendario. anno, mese, giorno, ora, minuto, secondo pacchetti in un numero intero senza segno. La rappresentazione dei bit è organizzata in modo tale che i confronti ordinali dei valori di data/ora compressi corrispondano all'ordine naturale delle ore corrispondenti. Per ridurne le dimensioni, le date e gli orari dei certificati compressi sono limitati a rappresentare le ore corrispondenti o successive a 2000/01/01 00:00:00. Se ospitati in un numero intero non firmato a 32 bit, le date e gli orari dei certificati compressi possono rappresentare i tempi fino all'anno 2133.
| Dettagli | |||||
|---|---|---|---|---|---|
| Parametri |
|
||||
| Valori restituiti |
|
||||
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Converti la data di un certificato compresso in una data/ora corrispondente di un certificato compresso, in cui la parte di tempo del valore è impostata su 00:00:00.
| Dettagli | |||
|---|---|---|---|
| Parametri |
|
||
| Restituisce |
Data/ora di un certificato del pacchetto corrispondente.
|
||
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Converti la data/ora di un certificato pacchettizzato in una data di certificato compresso.
La data del certificato pacchettizzata contiene i campi di una data anno di calendario, un mese, in un giorno, in un numero intero non firmato. I bit sono organizzati in modo tale che i confronti ordinali dei valori delle date compressi corrispondano all'ordine naturale delle date corrispondenti. Per ridurne le dimensioni, le date dei certificati pacchettizzate si limitano a rappresentare le date a partire dal 1° gennaio 2000. Se ospitate in un numero intero non firmato a 16 bit, le date dei certificati compressi possono rappresentare date fino all'anno 2176.
| Dettagli | |||
|---|---|---|---|
| Parametri |
|
||
| Restituisce |
Una data del certificato del pacchetto corrispondente.
|
||
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 )
Converti il numero di secondi a partire da 1970-01-01 00:00:00 UTC in una data/ora di un certificato compresso.
| Dettagli | |||
|---|---|---|---|
| Parametri |
|
||
| Restituisce |
Data/ora di un certificato del pacchetto corrispondente.
|
||
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Apri la data e l'ora di un certificato pacchettizzato in una struttura temporale universale ASN.1.
| Dettagli | |||||
|---|---|---|---|---|---|
| Parametri |
|
||||
| Valori restituiti |
|
||||
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 )