nl:: Weave:: Profiles:: Security:: Passcodes
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla biblioteki haseł Weave w profilu zabezpieczeń Weave.
Podsumowanie
Wyliczenia |
|
---|---|
@278{
|
enum | typ wyliczeniowy Typy konfiguracji szyfrowania haseł Weave. |
@279{
|
enum | typ wyliczeniowy Rozmiary parametrów protokołu szyfrowania haseł. |
Zmienne |
|
---|---|
kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
|
const uint8_t
Zróżnicowanie kluczy używane do pobierania kluczy szyfrowania haseł Weave.
|
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
|
const uint8_t
Zróżnicowanie kluczy używane do pobierania kluczy szyfrowania haseł Weave.
|
Funkcje |
|
---|---|
DecryptPasscode(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore)
|
Odszyfruj hasło zaszyfrowane za pomocą schematu szyfrowania Nest Passcode.
|
DecryptPasscode(const uint8_t *encPasscode, size_t encPasscodeLen, const uint8_t *encKey, const uint8_t *authKey, const uint8_t *fingerprintKey, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen)
|
Odszyfruj hasło zaszyfrowane za pomocą schematu szyfrowania Nest Passcode.
|
EncryptPasscode(uint8_t config, uint32_t keyId, uint32_t nonce, const uint8_t *passcode, size_t passcodeLen, uint8_t *encPasscode, size_t encPasscodeBufSize, size_t & encPasscodeLen, GroupKeyStoreBase *groupKeyStore)
|
Zaszyfruj kod dostępu, korzystając ze schematu szyfrowania Nest Passcode Encryption.
|
EncryptPasscode(uint8_t config, uint32_t keyId, uint32_t nonce, const uint8_t *passcode, size_t passcodeLen, const uint8_t *encKey, const uint8_t *authKey, const uint8_t *fingerprintKey, uint8_t *encPasscode, size_t encPasscodeBufSize, size_t & encPasscodeLen)
|
Zaszyfruj kod dostępu, korzystając ze schematu szyfrowania Nest Passcode Encryption.
|
GetEncryptedPasscodeConfig(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config)
|
Uzyskaj typ konfiguracji zaszyfrowanego kodu dostępu.
|
GetEncryptedPasscodeFingerprint(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen)
|
Uzyskaj odcisk palca powiązany z zaszyfrowanym hasłem.
|
GetEncryptedPasscodeKeyId(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId)
|
Uzyskaj identyfikator klucza używanego do zaszyfrowania zaszyfrowanego kodu dostępu.
|
GetEncryptedPasscodeNonce(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
|
Pobierz wartość jednorazową powiązaną z zaszyfrowanym hasłem.
|
IsSupportedPasscodeEncryptionConfig(uint8_t config)
|
bool
Zwraca wartość „prawda”, jeśli podana konfiguracja szyfrowania kodu dostępu jest obsługiwana przez interfejsy API szyfrowania/odszyfrowywania haseł.
|
Struktura |
|
---|---|
nl:: |
Wyliczenia
@278
@278
Typy konfiguracji szyfrowania haseł Weave.
Właściwości | |
---|---|
kPasscodeConfig1_KeyId
|
Identyfikator klucza zastępczego używany do testowej konfiguracji kodu dostępu nr 1. |
kPasscode_Config1_TEST_ONLY
|
Konfiguracja szyfrowania kodu dostępu nr 1 nie korzysta z szyfrowania ani kluczy tajnych do uwierzytelniania i kodu dostępu odciskiem palca. Ta konfiguracja POWINNA być używana wyłącznie do celów TESTOWYCH. |
kPasscode_Config2
|
Druga konfiguracja szyfrowania kodu dostępu korzysta z szyfrowania AES-128-ECB z 8-bajtową integralnością HMAC-SHA-1 i 8-bajtowym odciskiem cyfrowym HMAC-SHA-1. |
@279
@279
Rozmiary parametrów protokołu szyfrowania haseł.
Właściwości | |
---|---|
kPasscodeAuthenticationKeyLen
|
Długość klucza uwierzytelniania za pomocą kodu (SHA-1). |
kPasscodeAuthenticatorLen
|
Długość kodu uwierzytelniającego. |
kPasscodeEncKeyDiversifierSize
|
Rozmiar dywersyfikatora klucza aplikacji szyfrowania kodu dostępu. |
kPasscodeEncryptionKeyLen
|
Długość klucza szyfrowania kodu dostępu (AES-128). |
kPasscodeFingerprintKeyDiversifierSize
|
Rozmiar dywersyfikatora odcisku cyfrowego klucza dostępu. |
kPasscodeFingerprintKeyLen
|
Długość klucza SHA-1 kodu dostępu. |
kPasscodeFingerprintLen
|
Długość odcisku cyfrowego kodu dostępu. |
kPasscodeMaxEncryptedLen
|
Maksymalna długość zaszyfrowanego kodu dostępu. |
kPasscodeMaxLen
|
Maksymalna długość niezaszyfrowanego kodu dostępu. |
kPasscodePaddedLen
|
Długość kodu dostępu (dostosowana do długości bloku AES-128). |
kPasscodeTotalDerivedKeyLen
|
Łączna długość klucza (szyfrowania i integralności). |
Zmienne
kPasscodeEncKeyDiversifier
const uint8_t kPasscodeEncKeyDiversifier[] = { 0x1A, 0x65, 0x5D, 0x96 }
Zróżnicowanie kluczy używane do pobierania kluczy szyfrowania haseł Weave.
Ta wartość reprezentuje pierwsze 4 bajty haszowania SHA-1 „kodu dostępu Nest EK i AK” do wyrażenia.
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
Zróżnicowanie kluczy używane do pobierania kluczy szyfrowania haseł Weave.
Ta wartość reprezentuje pierwsze 4 bajty haszowania SHA-1 „kodu dostępu Nest EK i AK” do wyrażenia.
Funkcje
DecryptPasscode
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore )
Odszyfruj hasło zaszyfrowane za pomocą schematu szyfrowania Nest Passcode.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
DecryptPasscode
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, const uint8_t *encKey, const uint8_t *authKey, const uint8_t *fingerprintKey, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen )
Odszyfruj hasło zaszyfrowane za pomocą schematu szyfrowania Nest Passcode.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
EncryptPasscode
WEAVE_ERROR EncryptPasscode( uint8_t config, uint32_t keyId, uint32_t nonce, const uint8_t *passcode, size_t passcodeLen, uint8_t *encPasscode, size_t encPasscodeBufSize, size_t & encPasscodeLen, GroupKeyStoreBase *groupKeyStore )
Zaszyfruj kod dostępu, korzystając ze schematu szyfrowania Nest Passcode Encryption.
Szczegóły | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||||
Zwracane wartości |
|
EncryptPasscode
WEAVE_ERROR EncryptPasscode( uint8_t config, uint32_t keyId, uint32_t nonce, const uint8_t *passcode, size_t passcodeLen, const uint8_t *encKey, const uint8_t *authKey, const uint8_t *fingerprintKey, uint8_t *encPasscode, size_t encPasscodeBufSize, size_t & encPasscodeLen )
Zaszyfruj kod dostępu, korzystając ze schematu szyfrowania Nest Passcode Encryption.
Szczegóły | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||||||||
Zwracane wartości |
|
GetEncryptedPasscodeConfig
WEAVE_ERROR GetEncryptedPasscodeConfig( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config )
Uzyskaj typ konfiguracji zaszyfrowanego kodu dostępu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
GetEncryptedPasscodeFingerprint
WEAVE_ERROR GetEncryptedPasscodeFingerprint( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen )
Uzyskaj odcisk palca powiązany z zaszyfrowanym hasłem.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
GetEncryptedPasscodeKeyId
WEAVE_ERROR GetEncryptedPasscodeKeyId( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId )
Uzyskaj identyfikator klucza używanego do zaszyfrowania zaszyfrowanego kodu dostępu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
Pobierz wartość jednorazową powiązaną z zaszyfrowanym hasłem.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
Zwraca wartość „prawda”, jeśli podana konfiguracja szyfrowania kodu dostępu jest obsługiwana przez interfejsy API szyfrowania/odszyfrowywania haseł.