nl:: Weave:: Profiles:: Security:: Passcodes
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave لمكتبة رموز مرور Weave ضمن الملف الشخصي للأمان في Weave.
ملخّص
عمليات التعداد |
|
---|---|
@278{
|
تعداد يتم ربط أنواع إعدادات تشفير رمز المرور. |
@279{
|
تعداد نسج أحجام معلَمات بروتوكول تشفير رمز المرور. |
المتغيرات |
|
---|---|
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)
|
يمكنك الحصول على رقم تعريف المفتاح المستخدَم لتشفير رمز مرور مشفّر.
|
GetEncryptedPasscodeNonce(const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce)
|
احصل على القيمة nonce المرتبطة برمز مرور مشفّر.
|
IsSupportedPasscodeEncryptionConfig(uint8_t config)
|
bool
تُعرض القيمة "صحيح" إذا كانت إعدادات تشفير رمز المرور المُقدَّمة متوافقة مع واجهات برمجة تطبيقات تشفير رمز المرور أو فك التشفير.
|
الهياكل |
|
---|---|
nl:: |
عمليات التعداد
@278
@278
يتم ربط أنواع إعدادات تشفير رمز المرور.
أماكن إقامة | |
---|---|
kPasscodeConfig1_KeyId
|
معرّف المفتاح الوهمي المستخدم في ضبط رمز المرور التجريبي رقم 1. |
kPasscode_Config1_TEST_ONLY
|
لا تستخدم الإعدادات رقم 1 لتشفير رمز المرور التشفير والمفاتيح السرية للمصادقة ورمز المرور ببصمة الإصبع. ينبغي استخدام هذه الإعدادات لأغراض "الاختبار" فقط. |
kPasscode_Config2
|
تستخدم الإعدادات الثانية لتشفير رمز المرور تشفير AES-128-ECB مع سلامة HMAC-SHA-1 بحجم 8 بايت وبصمة إصبع HMAC-SHA-1 بحجم 8 بايت. |
@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 من عبارة "EK وAK لرمز مرور Nest".
kPasscodeFingerprintKeyDiversifier
const uint8_t kPasscodeFingerprintKeyDiversifier[] = { 0xD1, 0xA1, 0xD9, 0x6C }
متنوّع المفتاح المستخدم في اشتقاق مفتاح تشفير رمز مرور Weave.
تمثل هذه القيمة أول 4 بايت من عبارة SHA-1 HASH من عبارة "EK وAK لرمز مرور Nest".
الدوال
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 )
يمكنك الحصول على رقم تعريف المفتاح المستخدَم لتشفير رمز مرور مشفّر.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
GetEncryptedPasscodeNonce
WEAVE_ERROR GetEncryptedPasscodeNonce( const uint8_t *encPasscode, size_t encPasscodeLen, uint32_t & nonce )
احصل على القيمة nonce المرتبطة برمز مرور مشفّر.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
IsSupportedPasscodeEncryptionConfig
bool IsSupportedPasscodeEncryptionConfig( uint8_t config )
تُعرض القيمة "صحيح" إذا كانت إعدادات تشفير رمز المرور المُقدَّمة متوافقة مع واجهات برمجة تطبيقات تشفير رمز المرور أو فك التشفير.