nl:: بافت:: پروفایل ها:: امنیت:: رمزهای عبور
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این فضای نام شامل تمام رابط های موجود در Weave برای کتابخانه رمزهای Weave در نمایه امنیتی Weave است.
خلاصه
شمارش ها | |
---|---|
@278 { | enum انواع پیکربندی رمزگذاری رمز عبور را ببافید. |
@279 { | enum اندازه پارامترهای پروتکل رمزگذاری رمز عبور را ببافید. |
متغیرها | |
---|---|
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 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) | رمز عبوری را که با استفاده از طرح رمزگذاری 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) | رمز عبور را با استفاده از طرح رمزگذاری Nest Passcode رمزگذاری کنید. |
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 Passcode رمزگذاری کنید. |
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) | شناسه کلید مورد استفاده برای رمزگذاری یک رمز عبور رمزگذاری شده را دریافت کنید. |
GetEncryptedPasscodeNonce (const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce) | مقدار nonce مربوط به یک رمز عبور رمزگذاری شده را دریافت کنید. |
IsSupportedPasscodeEncryptionConfig (uint8_t config) | bool اگر پیکربندی رمزگذاری گذرواژه ارائه شده توسط APIهای رمزگذاری/رمزگشایی رمز عبور پشتیبانی شود، درست برمیگردد. |
شمارش ها
@278
@278
انواع پیکربندی رمزگذاری رمز عبور را ببافید.
خواص | |
---|---|
kPasscodeConfig1_KeyId | شناسه کلید ساختگی برای پیکربندی رمز عبور آزمایشی شماره 1 استفاده می شود. |
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 }
متنوع کننده کلید برای استخراج کلید رمزگذاری رمز عبور Weave استفاده می شود.
این مقدار، 4 بایت اول SHA-1 HASH عبارت "Nest Passcode EK and AK" را نشان می دهد.
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
متنوع کننده کلید برای استخراج کلید رمزگذاری رمز عبور Weave استفاده می شود.
این مقدار، 4 بایت اول SHA-1 HASH عبارت "Nest Passcode EK and AK" را نشان می دهد.
توابع
رمزگشایی رمز عبور
WEAVE_ERROR DecryptPasscode( const uint8_t *encPasscode, size_t encPasscodeLen, uint8_t *passcodeBuf, size_t passcodeBufSize, size_t & passcodeLen, GroupKeyStoreBase *groupKeyStore )
رمز عبوری را که با استفاده از طرح رمزگذاری Nest Passcode رمزگذاری شده است، رمزگشایی کنید.
جزئیات | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||||
ارزش های بازگشتی |
|
رمزگشایی رمز عبور
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 Passcode رمزگذاری شده است، رمزگشایی کنید.
جزئیات | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||||
ارزش های بازگشتی |
|
رمز عبور را رمزگذاری کنید
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 Passcode رمزگذاری کنید.
جزئیات | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||||||
ارزش های بازگشتی |
|
رمز عبور را رمزگذاری کنید
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 Passcode رمزگذاری کنید.
جزئیات | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||||||||||
ارزش های بازگشتی |
|
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 )
شناسه کلید مورد استفاده برای رمزگذاری یک رمز عبور رمزگذاری شده را دریافت کنید.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
مقدار nonce مربوط به یک رمز عبور رمزگذاری شده را دریافت کنید.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
اگر پیکربندی رمزگذاری گذرواژه ارائه شده توسط APIهای رمزگذاری/رمزگشایی رمز عبور پشتیبانی شود، درست برمیگردد.