nl:: Weave:: Profiles:: Security:: Passcodes
這個命名空間包含 Weave 中有關 Weave 安全性設定檔內 Weave 密碼庫的所有介面。
摘要
列舉 |
|
---|---|
@278{
|
列舉 武器密碼加密設定類型。 |
@279{
|
列舉 武器密碼加密通訊協定參數大小。 |
變數 |
|
---|---|
kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
|
const uint8_t
用於改造密碼加密金鑰的金鑰分流器。
|
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
|
const uint8_t
用於改造密碼加密金鑰的金鑰分流器。
|
函式 |
|
---|---|
DecryptPasscode(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore)
|
將使用 Nest 密碼加密機制加密的密碼解密。
|
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)
|
將使用 Nest 密碼加密機制加密的密碼解密。
|
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)
|
使用 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)
|
使用 Nest 密碼加密機制將密碼加密。
|
GetEncryptedPasscodeConfig(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config)
|
取得加密密碼的設定類型。
|
GetEncryptedPasscodeFingerprint(const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen)
|
取得與加密密碼相關聯的指紋值。
|
GetEncryptedPasscodeKeyId(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId)
|
取得用於加密已加密密碼的金鑰 ID。
|
GetEncryptedPasscodeNonce(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
|
取得與加密密碼相關聯的 Nonce 值。
|
IsSupportedPasscodeEncryptionConfig(uint8_t config)
|
bool
如果密碼加密/解密 API 支援提供的密碼加密設定,則傳回 true。
|
Structs |
|
---|---|
nl:: |
列舉
278 次
@278
武器密碼加密設定類型。
屬性 | |
---|---|
kPasscodeConfig1_KeyId
|
用於測試密碼設定 #1 的虛擬金鑰 ID。 |
kPasscode_Config1_TEST_ONLY
|
密碼加密設定 #1 未使用加密金鑰和密鑰來驗證及指紋密碼。 這項設定「必須」用於測試用途。 |
kPasscode_Config2
|
密碼加密設定 #2 使用 AES-128-ECB 加密與 8 位元組的 HMAC-SHA-1 完整性,以及 8 位元組的 HMAC-SHA-1 指紋。 |
279 人
@279
武器密碼加密通訊協定參數大小。
屬性 | |
---|---|
kPasscodeAuthenticationKeyLen
|
密碼驗證 (SHA-1) 金鑰長度。 |
kPasscodeAuthenticatorLen
|
密碼驗證器長度。 |
kPasscodeEncKeyDiversifierSize
|
密碼加密應用程式金鑰分隔碼大小。 |
kPasscodeEncryptionKeyLen
|
密碼加密 (AES-128) 金鑰長度。 |
kPasscodeFingerprintKeyDiversifierSize
|
密碼指紋金鑰多樣性大小。 |
kPasscodeFingerprintKeyLen
|
密碼指紋 (SHA-1) 金鑰長度。 |
kPasscodeFingerprintLen
|
密碼指紋長度。 |
kPasscodeMaxEncryptedLen
|
加密密碼長度上限。 |
kPasscodeMaxLen
|
密碼長度上限。 |
kPasscodePaddedLen
|
密碼長度 (會填充為 AES-128 區塊長度)。 |
kPasscodeTotalDerivedKeyLen
|
金鑰總長度 (加密和完整性)。 |
變數
kPasscodeEncKeyDiversifier
const uint8_t kPasscodeEncKeyDiversifier[] = { 0x1A, 0x65, 0x5D, 0x96 }
用於改造密碼加密金鑰的金鑰分流器。
這個值代表「Nest Passcode EK and AK」中 SHA-1 HASH 的前 4 個位元組詞組。
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
用於改造密碼加密金鑰的金鑰分流器。
這個值代表「Nest Passcode EK and AK」中 SHA-1 HASH 的前 4 個位元組詞組。
函式
DecryptPasscode
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore )
將使用 Nest 密碼加密機制加密的密碼解密。
詳細資料 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||
傳回值 |
|
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 )
將使用 Nest 密碼加密機制加密的密碼解密。
詳細資料 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||
傳回值 |
|
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 )
使用 Nest 密碼加密機制將密碼加密。
詳細資料 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||||
傳回值 |
|
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 )
使用 Nest 密碼加密機制將密碼加密。
詳細資料 | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||||||||
傳回值 |
|
GetEncryptedPasscodeConfig
WEAVE_ERROR GetEncryptedPasscodeConfig( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t & config )
取得加密密碼的設定類型。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
GetEncryptedPasscodeFingerprint
WEAVE_ERROR GetEncryptedPasscodeFingerprint( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *fingerprintBuf, size_t fingerprintBufSize, size_t & fingerprintLen )
取得與加密密碼相關聯的指紋值。
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
GetEncryptedPasscodeKeyId
WEAVE_ERROR GetEncryptedPasscodeKeyId( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & keyId )
取得用於加密已加密密碼的金鑰 ID。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
取得與加密密碼相關聯的 Nonce 值。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
如果密碼加密/解密 API 支援提供的密碼加密設定,則傳回 true。