nl:: Weave:: Profiles:: Security:: Passcodes
Namespace ini mencakup semua antarmuka dalam Weave untuk library kode sandi Weave dalam profil keamanan Weave.
Ringkasan
Enumerasi |
|
---|---|
@278{
|
enum Jenis konfigurasi enkripsi kode sandi Weave. |
@279{
|
enum Ukuran parameter protokol enkripsi kode sandi Weave. |
Variabel |
|
---|---|
kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
|
const uint8_t
Diversifier kunci yang digunakan untuk turunan kunci enkripsi kode sandi Weave.
|
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
|
const uint8_t
Diversifier kunci yang digunakan untuk turunan kunci enkripsi kode sandi Weave.
|
Fungsi |
|
---|---|
DecryptPasscode(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore)
|
Mendekripsi kode sandi yang dienkripsi menggunakan skema Enkripsi 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)
|
Mendekripsi kode sandi yang dienkripsi menggunakan skema Enkripsi 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)
|
Enkripsi kode sandi menggunakan skema Enkripsi Kode Sandi Nest.
|
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)
|
Enkripsi kode sandi menggunakan skema Enkripsi Kode Sandi Nest.
|
GetEncryptedPasscodeConfig(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config)
|
Mendapatkan jenis konfigurasi kode sandi terenkripsi.
|
GetEncryptedPasscodeFingerprint(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen)
|
Mendapatkan nilai sidik jari yang terkait dengan kode sandi terenkripsi.
|
GetEncryptedPasscodeKeyId(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId)
|
Mendapatkan ID kunci yang digunakan untuk mengenkripsi kode sandi terenkripsi.
|
GetEncryptedPasscodeNonce(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
|
Mendapatkan nilai nonce yang terkait dengan kode sandi terenkripsi.
|
IsSupportedPasscodeEncryptionConfig(uint8_t config)
|
bool
Menampilkan true (benar) jika konfigurasi enkripsi kode sandi yang diberikan didukung oleh API enkripsi/dekripsi kode sandi.
|
Struct |
|
---|---|
nl:: |
Enumerasi
@278
@278
Jenis konfigurasi enkripsi kode sandi Weave.
Properti | |
---|---|
kPasscodeConfig1_KeyId
|
ID kunci contoh yang digunakan untuk konfigurasi kode sandi uji coba #1. |
kPasscode_Config1_TEST_ONLY
|
Konfigurasi enkripsi kode sandi #1 tidak menggunakan enkripsi dan kunci rahasia untuk mengautentikasi dan kode sandi sidik jari. Konfigurasi ini SEHARUSNYA digunakan untuk tujuan TEST saja. |
kPasscode_Config2
|
Konfigurasi enkripsi kode sandi #2 menggunakan enkripsi AES-128-ECB dengan integritas HMAC-SHA-1 8 byte dan sidik jari HMAC-SHA-1 8 byte. |
@279
@279
Ukuran parameter protokol enkripsi kode sandi Weave.
Properti | |
---|---|
kPasscodeAuthenticationKeyLen
|
Panjang kunci autentikasi kode sandi (SHA-1). |
kPasscodeAuthenticatorLen
|
Panjang pengautentikasi kode sandi. |
kPasscodeEncKeyDiversifierSize
|
Ukuran diversifier kunci aplikasi enkripsi kode sandi. |
kPasscodeEncryptionKeyLen
|
Panjang kunci enkripsi kode sandi (AES-128). |
kPasscodeFingerprintKeyDiversifierSize
|
Ukuran diversifier kunci sidik jari kode sandi. |
kPasscodeFingerprintKeyLen
|
Panjang kunci sidik jari kode sandi (SHA-1). |
kPasscodeFingerprintLen
|
Panjang sidik jari kode sandi. |
kPasscodeMaxEncryptedLen
|
Panjang kode sandi terenkripsi maksimum. |
kPasscodeMaxLen
|
Panjang kode sandi maksimum yang tidak dienkripsi. |
kPasscodePaddedLen
|
Panjang kode sandi (dengan padding sesuai panjang blok AES-128). |
kPasscodeTotalDerivedKeyLen
|
Panjang kunci total kode sandi (enkripsi &integritas). |
Variabel
kPasscodeEncKeyDiversifier
const uint8_t kPasscodeEncKeyDiversifier[] = { 0x1A, 0x65, 0x5D, 0x96 }
Diversifier kunci yang digunakan untuk turunan kunci enkripsi kode sandi Weave.
Nilai ini mewakili 4 byte pertama SHA-1 HASH "Nest Passcode EK and AK" frasa.
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
Diversifier kunci yang digunakan untuk turunan kunci enkripsi kode sandi Weave.
Nilai ini mewakili 4 byte pertama SHA-1 HASH "Nest Passcode EK and AK" frasa.
Fungsi
DecryptPasscode
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore )
Mendekripsi kode sandi yang dienkripsi menggunakan skema Enkripsi Nest Passcode.
Detail | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Nilai yang Ditampilkan |
|
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 )
Mendekripsi kode sandi yang dienkripsi menggunakan skema Enkripsi Nest Passcode.
Detail | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Nilai yang Ditampilkan |
|
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 )
Enkripsi kode sandi menggunakan skema Enkripsi Kode Sandi Nest.
Detail | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Nilai yang Ditampilkan |
|
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 )
Enkripsi kode sandi menggunakan skema Enkripsi Kode Sandi Nest.
Detail | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||||||
Nilai yang Ditampilkan |
|
GetEncryptedPasscodeConfig
WEAVE_ERROR GetEncryptedPasscodeConfig( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config )
Mendapatkan jenis konfigurasi kode sandi terenkripsi.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
GetEncryptedPasscodeFingerprint
WEAVE_ERROR GetEncryptedPasscodeFingerprint( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen )
Mendapatkan nilai sidik jari yang terkait dengan kode sandi terenkripsi.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
GetEncryptedPasscodeKeyId
WEAVE_ERROR GetEncryptedPasscodeKeyId( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId )
Mendapatkan ID kunci yang digunakan untuk mengenkripsi kode sandi terenkripsi.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
Mendapatkan nilai nonce yang terkait dengan kode sandi terenkripsi.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
Menampilkan true (benar) jika konfigurasi enkripsi kode sandi yang diberikan didukung oleh API enkripsi/dekripsi kode sandi.