nl:: Weave:: Profiles:: Security
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla profilu Weave Security.
Podsumowanie
Wyliczenia |
|
---|---|
@235
|
enum | typ wyliczeniowy Flagi zastosowania klucza 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 certyfikatu 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 |
Definiuje typ |
|
---|---|
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śla 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)
|
Wygeneruj i zakoduj podpis 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 urządzenia operacyjnego 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 base64) dla danego zestawu danych logowania do urządzenia 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 weryfikacyjny (w formacie base-64) dla danego zbioru 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 czasowej ASN.1) na spakowaną datę i godzinę certyfikatu.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Konwertuj datę w spakowanym certyfikacie na odpowiednią datę/godzinę certyfikatu w spakowanym pliku, gdy część czasową wartości jest ustawiona na 00:00:00.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Przekonwertuj datę i godzinę w spakowanym certyfikacie na datę i godzinę w spakowanym certyfikacie.
|
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 godziny 00:00:00 czasu UTC 1970-01-01 na spakowaną datę/godzinę certyfikatu.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Rozpakuj spakowaną datę i godzinę certyfikatu do uniwersalnej struktury czasowej 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 weaveSignature przy użyciu klucza prywatnego w pamięci. |
nl:: |
Udostępnia ogólną funkcję generowania podpisów weave. |
Przestrzenie nazw |
|
---|---|
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla biblioteki kluczy aplikacji Weave w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw zawiera wszystkie interfejsy Weave dla protokołu Certificate Authenticated Session kroku CASE) w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla protokołu udostępniania certyfikatów Weave w 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 (Password Authenticated Session kroku) w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla biblioteki haseł Weave w profilu zabezpieczeń Weave. |
nl:: |
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla protokołu Token Authenticated Key Exchange (take) w profilu Weave Security. |
Wyliczenia
@235
@235
Flagi zastosowania klucza 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ł wczytany do obiektu WeaveCertSet.
@238
@238
Flagi dekodowania certyfikatów Weave.
Zawiera informacje określające sposób zdekodowania certyfikatu.
@239
@239
Flagi weryfikacji certyfikatu 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
Definiuje typ
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 z informacjami o certyfikacie CASE zawierającą certyfikaty z tokena dostępu.
Ta funkcja dekoduje określony token dostępu Weave i koduje TLV struktury informacji o certyfikacie Weave CASE. Pole EntityCertificate w strukturze CertificateInfo jest ustawione na certyfikat tokena dostępu, a pole RelatedCertificates (jeśli istnieje) jest ustawione na 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 z informacjami o certyfikacie CASE zawierającą certyfikaty z tokena dostępu.
Ta funkcja odczytuje token dostępu Weave z danego TLVReadera i zapisuje wartość TLV dla struktury informacji o certyfikacie Weave CASE w programie TLVWriter. Pole EntityCertificate w strukturze CertificateInfo jest ustawione na certyfikat tokena dostępu, a pole RelatedCertificates (jeśli istnieje) jest ustawione na 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śla ogólny typ certyfikatu Weave.
Ta funkcja przeprowadza ogólną ocenę typu certyfikatu na podstawie struktury jego nazwy wyróżniającej oraz występujących rozszerzeń. Aplikacje mogą zastąpić tę ocenę przez ustawienie atrybutu cert.CertType na inną wartość, w tym wartość definiowaną przez aplikację.
Ogólnie rzecz biorąc, aplikacje ufają certyfikatowi peera tylko wtedy, gdy jest on powiązany z zaufanym certyfikatem głównym. Jednak typ przypisany do certyfikatu może wpływać na charakter tego zaufania, np. aby zezwolić na dostęp do pewnych funkcji lub go zablokować. Z tego względu zmiany w tym algorytmie mogą mieć BARDZO ZNACZNY i POTENCJALNY wpływ na ogólne bezpieczeństwo systemu i nie powinny być wprowadzane bez dokładnego zrozumienia tych skutków.
UWAGA: certyfikatów tokenów dostępu nie można odróżnić wyłącznie za pomocą ich struktury. Dlatego ta funkcja 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 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 określony 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 określony 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 )
Wygeneruj i zakoduj podpis Weave ECDSA.
Oblicza podpis ECDSA przy użyciu danego klucza prywatnego i skrótu wiadomości, a następnie zapisuje podpis w postaci struktury Weave ECDSASignature dla określonego zapisującego TLV z podanym 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 urządzenia operacyjnego 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 określony token dostępu Weave i wczytuje certyfikaty tokenów dostępu do określonego obiektu zestawu certyfikatów Weave. Jeśli tokeny dostępu zawierają co najmniej 1 powiązany certyfikat, one również zostaną 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 TLVReader i wczytuje certyfikaty tokenów dostępu do określonego obiektu zestawu certyfikatów Weave. Jeśli tokeny dostępu zawierają co najmniej 1 powiązany certyfikat, one również zostaną 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 base64) dla danego zestawu danych logowania do urządzenia 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 weryfikacyjny (w formacie base-64) dla danego zbioru informacji o obsłudze administracyjnej Weave.
Szczegóły | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||||
Zwracane wartości |
|
OIDToWeaveCurveId
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 czasowej ASN.1) na spakowaną datę i godzinę certyfikatu.
Zapakowane daty i godziny certyfikatu to kompaktowa reprezentacja wartości czasu w certyfikacie (notBefore i notAfter), która nie wymaga pełnej interpretacji obliczeń matematycznych.
Pakiet daty i godziny certyfikatu zawiera pola daty/godziny kalendarzowej, tj. rok, miesiąc, dzień, godzina, minuta, secondpack na nieoznaczoną liczbę całkowitą. Reprezentacja bitów jest zorganizowana w taki sposób, że porównania porządkowe zapakowanych wartości daty i godziny odpowiadają naturalnej kolejności odpowiednich czasów. Aby zmniejszyć ich rozmiar, w pakietach daty i godziny certyfikatu są ograniczone do reprezentowania czasu przypadającego na 1.01.2000 r. o godz. 00:00:00 lub później. Zapakowane daty i godziny certyfikatu umieszczone w 32-bitowej niepodpisanej liczbie całkowitej mogą przedstawiać czas do roku 2133.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Konwertuj datę w spakowanym certyfikacie na odpowiednią datę/godzinę certyfikatu w spakowanym pliku, gdzie część czasową wartości jest ustawiona na 00:00:00.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Data i godzina odpowiedniego certyfikatu pakietu.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Przekonwertuj datę i godzinę w spakowanym certyfikacie na datę i godzinę w spakowanym certyfikacie.
Data w pakiecie daty certyfikatu zawiera pola kalendarzowego typu datarok i miesiąc, podane w postaci niepodpisanej liczby całkowitej. Bity są uporządkowane w taki sposób, że porządkowe porównania spakowanych wartości dat odpowiadają naturalnej kolejności odpowiednich dat. Aby zmniejszyć swój rozmiar, daty w pakietach certyfikatów są ograniczone do dat przypadających na 1 stycznia 2000 r. lub później. Jeśli daty certyfikatu są umieszczone w 16-bitowej niepodpisanej liczbie całkowitej, daty w pakietach mogą przypadać do 2176 roku.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Data odpowiedniego 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 godziny 00:00:00 czasu UTC 1970-01-01 na spakowaną datę/godzinę certyfikatu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Data i godzina odpowiedniego certyfikatu pakietu.
|
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Rozpakuj spakowaną datę i godzinę certyfikatu do uniwersalnej struktury czasowej 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 )