nl:: Weave:: Profiles:: Security:: Passcodes
此命名空间包含 Weave 中 Weave 安全配置文件内 Weave 密码库的所有接口。
摘要
枚举 |
|
---|---|
@278{
|
枚举 Weave 密码加密配置类型。 |
@279{
|
枚举 Weave 密码加密协议参数大小。 |
变量 |
|
---|---|
kPasscodeEncKeyDiversifier = { 0x1A, 0x65, 0x5D, 0x96 }[]
|
const uint8_t
用于派生 Weave 密码加密密钥的密钥集分符。
|
kPasscodeFingerprintKeyDiversifier = { 0xD1, 0xA1, 0xD9, 0x6C }[]
|
const uint8_t
用于派生 Weave 密码加密密钥的密钥集分符。
|
函数 |
|
---|---|
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。
|
结构体 |
|
---|---|
nl:: |
枚举
@278
@278
Weave 密码加密配置类型。
属性 | |
---|---|
kPasscodeConfig1_KeyId
|
用于测试密码配置 1 的虚拟密钥 ID。 |
kPasscode_Config1_TEST_ONLY
|
密码加密配置 1 未使用加密密钥和密钥进行身份验证及指纹密码。 此配置应仅用于测试目的。 |
kPasscode_Config2
|
密码加密配置 2 使用具有 8 字节 HMAC-SHA-1 完整性和 8 字节 HMAC-SHA-1 指纹的 AES-128-ECB 加密。 |
@279
@279
Weave 密码加密协议参数大小。
属性 | |
---|---|
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 }
用于派生 Weave 密码加密密钥的密钥集分符。
此值表示“Nest 密码 EK 和 AK”的 SHA-1 哈希的前 4 个字节词组。
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
用于派生 Weave 密码加密密钥的密钥集分符。
此值表示“Nest 密码 EK 和 AK”的 SHA-1 哈希的前 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。