nl:: Weave:: Profiles:: Security
Ta przestrzeń nazw obejmuje wszystkie interfejsy weave dla profilu zabezpieczeń Weave.
Podsumowanie
Wyliczenia |
|
---|---|
@235
|
enum | typ wyliczeniowy Flagi głównych celów certyfikatu X.509. |
@236
|
enum | typ wyliczeniowy Flagi użycia klucza certyfikatu X.509. |
@237
|
enum | typ wyliczeniowy Flagi certyfikatów Weave. |
@238
|
enum | typ wyliczeniowy Flagi dekodowania certyfikatów Weave. |
@239
|
enum | typ wyliczeniowy Flagi weryfikacji certyfikatów Weave. |
@240
|
enum | typ wyliczeniowy |
@280
|
enum | typ wyliczeniowy |
@281
|
enum | typ wyliczeniowy |
@282
|
enum | typ wyliczeniowy |
@283
|
enum | typ wyliczeniowy |
@284
|
enum | typ wyliczeniowy |
@285
|
enum | typ wyliczeniowy |
@286
|
enum | typ wyliczeniowy |
@287
|
enum | typ wyliczeniowy |
@288
|
enum | typ wyliczeniowy |
@289
|
enum | typ wyliczeniowy |
Definicje typów |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
typedef Wygeneruj podpis ECDSA przy użyciu klucza prywatnego lokalnego węzła Weave. |
Zmienne |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
Funkcje |
|
---|---|
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)
|
Określ ogólny typ certyfikatu 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)
|
Odczytuje token dostępu Weave i wyodrębnia certyfikat tokena dostępu.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Odczytuje token dostępu Weave i wyodrębnia klucz prywatny.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Odczytuje token dostępu Weave i wyodrębnia klucz prywatny.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Generowanie i kodowanie podpisu Weave ECDSA.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
Wygeneruj certyfikat działającego urządzenia 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)
|
Wczytaj certyfikaty z tokena dostępu do zestawu certyfikatów Weave.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Wczytaj certyfikaty z tokena dostępu do zestawu certyfikatów 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
Wygeneruj hasz weryfikacyjny (w formacie base-64) dla danego zestawu danych logowania na urządzenie termostatu.
|
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
Wygeneruj hasz weryfikacji (w formacie base-64) dla danego zestawu informacji o obsłudze administracyjnej Weave.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
Przekonwertuj datę i godzinę certyfikatu (w postaci uniwersalnej struktury czasu ASN.1) na datę i godzinę spakowanego certyfikatu.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Przekonwertuj datę i godzinę zapakowanego certyfikatu na odpowiednią datę i godzinę zapakowanego certyfikatu, w której jako część godziny podana jest godzina 00:00:00.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Przekonwertuj datę i godzinę spakowanego certyfikatu na datę zapakowanego certyfikatu.
|
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
Przekonwertuj liczbę sekund od 01.01.01 00:00:00 czasu UTC na datę i godzinę spakowanego certyfikatu.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Rozpakuj datę i godzinę certyfikatu w uniwersalnej strukturze czasu 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
|
Zajęcia |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Generuje podpis WeaveSignature przy użyciu klucza prywatnego w pamięci. |
nl:: |
Udostępnia ogólną funkcję generowania podpisów WeaveSignature. |
Przestrzenie nazw |
|
---|---|
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla biblioteki kluczy aplikacji Weave w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave na potrzeby protokołu CASE (Certificate Authenticated Session Embed) w ramach profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy weave na potrzeby protokołu udostępniania certyfikatów Weave w ramach profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla protokołu eksportu kluczy w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla protokołu PASE (hasła uwierzytelnionego) w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy weave biblioteki haseł do Weave w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla protokołu Taked Key Exchange (JWT) w profilu zabezpieczeń Weave. |
Wyliczenia
@235
@235
Flagi głównych celów certyfikatu X.509.
@236
@236
Flagi użycia klucza certyfikatu X.509.
@237
@237
Flagi certyfikatów Weave.
Zawiera informacje o certyfikacie, który został załadowany do obiektu WeaveCertSet.
@238
@238
Flagi dekodowania certyfikatów Weave.
Zawiera informacje określające sposób dekodowania certyfikatu.
@239
@239
Flagi weryfikacji certyfikatów Weave.
Zawiera informacje określające sposób weryfikacji certyfikatu.
240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Definicje typów
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
Wygeneruj podpis ECDSA przy użyciu klucza prywatnego lokalnego węzła Weave.
Po wywołaniu implementacje muszą obliczyć podpis dla danej wartości skrótu za pomocą klucza prywatnego węzła.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
Zmienne
gProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
Funkcje
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Odczytuje token dostępu Weave i tworzy strukturę TLV informacji o certyfikacie CASE zawierającą certyfikaty z tokena dostępu.
Ta funkcja dekoduje dany token dostępu Weave i koduje TLV na potrzeby struktury informacji o certyfikacie Weave CASE. Pole EntityCertificate (Certyfikat jednostki) w strukturze CertificateInfo jest ustawione na certyfikat tokena dostępu, a pole RelatedCertificates (jeśli istnieje) – odpowiednie pole w tokenie dostępu.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwracane wartości |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Odczytuje token dostępu Weave i zapisuje strukturę TLV informacji o certyfikacie CASE zawierającą certyfikaty z tokena dostępu.
Ta funkcja odczytuje token dostępu Weave z danego czytnika TLVReader i zapisuje w klasy TLVWriter wartość TLV struktury informacji o certyfikacie Weave CASE. Pole EntityCertificate (Certyfikat jednostki) w strukturze CertificateInfo jest ustawione na certyfikat tokena dostępu, a pole RelatedCertificates (jeśli istnieje) – odpowiednie pole w tokenie dostępu.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
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 )
Określ ogólny typ certyfikatu Weave.
Ta funkcja przeprowadza ogólną ocenę typu certyfikatu na podstawie struktury jego nazwy wyróżniającej podmiotu i obecnych rozszerzeń. Aplikacje mogą zastąpić ten ocenę przez ustawienie parametru cert.CertType na inną wartość, w tym na określoną przez aplikację.
Ogólnie aplikacje ufają certyfikatowi peera tylko wtedy, gdy jest on połączony z zaufanym certyfikatem głównym. Jednak typ przypisany do certyfikatu może wpływać na charakter tego zaufania, na przykład zezwalać na dostęp do niektórych funkcji lub go blokować. Z tego powodu zmiany w tym algorytmie mogą mieć BARDZO ZNACZNY i POTENCJALNIE KATASTROFICZNY wpływ na ogólne bezpieczeństwo systemu. Nie należy wprowadzać tych zmian bez dokładnego zrozumienia ich konsekwencji.
UWAGA: certyfikatów tokenów dostępu nie można rozróżnić wyłącznie według struktury. Z tego względu funkcja ta nigdy nie ustawia 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 )
Odczytuje token dostępu Weave i wyodrębnia certyfikat tokena dostępu.
Ta funkcja odczytuje token dostępu Weave z odczytu TLVReader i zapisuje certyfikat tokena dostępu w określonym obiekcie TLVWriter.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Odczytuje token dostępu Weave i wyodrębnia klucz prywatny.
Ta funkcja dekoduje dany token dostępu Weave i wyodrębnia pole klucza prywatnego z tokena.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwracane wartości |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Odczytuje token dostępu Weave i wyodrębnia klucz prywatny.
Ta funkcja dekoduje dany token dostępu Weave i wyodrębnia pole klucza prywatnego z tokena.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Generowanie i kodowanie podpisu Weave ECDSA.
Oblicza podpis ECDSA przy użyciu podanego klucza prywatnego i skrótu wiadomości oraz zapisuje podpis jako strukturę Weave ECDSASignature dla określonego zapisującego TLV z danym tagiem.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwracane wartości |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Wygeneruj certyfikat działającego urządzenia Weave.
Ta funkcja generuje samodzielnie podpisany certyfikat operacyjny Weave zakodowany w formacie TLV Weave.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwracane wartości |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Dodaj wcięcie
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 )
Wczytaj certyfikaty z tokena dostępu do zestawu certyfikatów Weave.
Ta funkcja dekoduje dany token dostępu Weave i wczytuje te certyfikaty do określonego obiektu zestawu certyfikatów Weave. Jeśli tokeny dostępu zawierają co najmniej jeden powiązany certyfikat, zostaną one również wczytane do zestawu certyfikatów.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwracane wartości |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Wczytaj certyfikaty z tokena dostępu do zestawu certyfikatów Weave.
Ta funkcja odczytuje token dostępu Weave z danego czytnika TLVReader i wczytuje certyfikaty tokenów dostępu do określonego obiektu zestawu certyfikatów Weave. Jeśli tokeny dostępu zawierają co najmniej jeden powiązany certyfikat, zostaną one również wczytane do zestawu certyfikatów.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
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 )
Wygeneruj hasz weryfikacyjny (w formacie base-64) dla danego zestawu danych logowania na urządzenie termostatu.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
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 )
Wygeneruj hasz weryfikacji (w formacie base-64) dla danego zestawu informacji o obsłudze administracyjnej Weave.
Szczegóły | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||||
Zwracane wartości |
|
Identyfikator OID do krzywej splotu
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Przekonwertuj datę i godzinę certyfikatu (w postaci uniwersalnej struktury czasu ASN.1) na datę i godzinę spakowanego certyfikatu.
Spakowane daty i godziny certyfikatu zawierają kompaktową reprezentację wartości czasu w certyfikacie (notBefore i notAfter), która nie wymaga do interpretacji pełnej funkcji matematycznej.
Spakowane dane z datą i godziną certyfikatu zawierają pola daty i godziny (rok, miesiąc, dzień, godzina, minuta) i są umieszczone w postaci nieoznaczonej liczby całkowitej. Reprezentacja bitowa jest uporządkowana w taki sposób, że porównania porządkowe zapakowanych wartości daty i godziny odpowiadają naturalnej kolejności odpowiednich czasów. Aby zredukować rozmiar, daty i godziny zapakowanych certyfikatów są ograniczone do godzin do godziny 00:00:00 1 stycznia 2000 roku lub później. W przypadku 32-bitowej nieoznaczonej liczby całkowitej spakowane daty i godziny zapakowanych certyfikatów mogą przedstawiać czasy do roku 2133.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Przekonwertuj datę i godzinę zapakowanego certyfikatu na odpowiednią datę i godzinę zapakowanego certyfikatu, w której jako część godziny podana jest godzina 00:00:00.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Odpowiednia data i godzina w certyfikacie pakietu.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Przekonwertuj datę i godzinę spakowanego certyfikatu na datę zapakowanego certyfikatu.
Data spakowania certyfikatu zawiera pola kalendarza datarok i miesiąc ujęte w dzień nieoznaczoną liczbą całkowitą. Bity są uporządkowane w taki sposób, aby porządkowe porównania wartości pakietów dat odpowiadały naturalnej kolejności odpowiednich dat. Aby zmniejszyć rozmiar, zakres dat zapakowanych certyfikatów musi być datą przypadającą na 1 stycznia 2000 roku lub później. Jeśli daty mieszczą się w 16-bitowej niepodpisanej liczbie całkowitej, daty spakowanego certyfikatu mogą obejmować daty do 2176 roku.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Odpowiednia data certyfikatu pakietu.
|
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 )
Przekonwertuj liczbę sekund od 01.01.01 00:00:00 czasu UTC na datę i godzinę spakowanego certyfikatu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Odpowiednia data i godzina w certyfikacie pakietu.
|
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Rozpakuj datę i godzinę certyfikatu w uniwersalnej strukturze czasu ASN.1.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
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 )