الأمان
يسرد هذا الجدول جميع العناصر في مجموعة androidx.security
.
العناصر | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار التجريبي |
---|---|---|---|---|
security-crypto | 1.0.0 | - | - | 1.1.0-alpha06 |
security-app-authenticator | - | - | 1.0.0-beta01 | - |
security-identity-credential | - | - | - | 1.0.0-alpha03 |
الإعلان عن التبعيات
لإضافة تبعية على الأمان، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle
ل
تطبيقك أو وحدتك:
لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زرّ النجمة.
اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
الإصدار 1.0 من Security-State
الإصدار 1.0.0-alpha05
29 كانون الثاني (يناير) 2025
تم إصدار androidx.security:security-state:1.0.0-alpha05
. يتضمّن الإصدار 1.0.0-alpha05 عمليات الربط هذه.
الميزات الجديدة
- تمت إضافة أسماء حِزم وحدات النظام التلقائية إلى بيان المكتبة للسماح لتطبيقات العميل بالحصول على حِزم SPL للأجهزة لوحدات النظام. (Ic259c)
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية
SecurityStateManager
إلىSecurityStateManagerCompat
، وإضافة مستندات إضافية للسمات والوظائف العامة، وجعلتgetComponentSecurityPatchLevel
وgetVulnerabilityReportUrl
طريقتَين ثابتتَين. (I44a0c) - تمّت إزالة وظيفة Update Availability (الطريقتان
listAvailableUpdates()
وgetAvailableSecurityPatchLevel()
) من واجهة برمجة التطبيقات في الوقت الحالي، ومن المخطّط إعادة طرحها في تحديث مستقبلي للمكتبة. (Idbc5e) - أصبح الوصول إلى Vendor SPL محميًا الآن بعلامة وقت الترجمة التي يتم إيقافها تلقائيًا إلى أن يتم إجراء تحديث مستقبلي للمكتبة. (I45b58)
- يعرض
getGlobalSecurityState()
الآن حالة الأمان الشاملة من خدمة النظام لحِزم SDK 35 والإصدارات الأحدث. (I7b9da)
إصلاح الأخطاء
- تم إصلاح عطل حدث عند محاولة الحصول على حزمة SPL المنشورة لنظام التشغيل Kernel على الإصدارات القديمة من Android التي لا تتوفّر فيها إصدارات Kernel LTS المنشورة. (I93dff)
الإصدار 1.0.0-alpha04
7 آب (أغسطس) 2024
تم إصدار androidx.security:security-state:1.0.0-alpha04
. يتضمّن الإصدار 1.0.0-alpha04 عمليات الربط هذه.
ملاحظة
- تعديل
compileSdk
إلى 35 5dc41be
تغييرات واجهة برمجة التطبيقات
- تغيير جذري: تم استبدال قائمة العناصر المحددة للمكونات بثوابت سلاسل من أجل قابلية التوسيع. (Ia3283)
الإصدار 1.0.0-alpha03
10 تموز (يوليو) 2024
تم إصدار androidx.security:security-state:1.0.0-alpha03
. يتضمّن الإصدار 1.0.0-alpha03 عمليات الربط هذه.
إصلاح الأخطاء
- إصلاح نمط ASB-A- لأخطاء نشرة أمان Android وتحليل JSON للمكونات الإضافية و
Webview
الاسترجاع المُجمَّع (Ide86a)
الإصدار 1.0.0-alpha02
26 حزيران (يونيو) 2024
تم إصدار androidx.security:security-state:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على عمليات الربط هذه.
إصلاح الأخطاء
- تم إصلاح منطق الحصول على إصدار النواة. (I5602a)
الإصدار 1.0.0-alpha01
12 يونيو 2024
تم إصدار androidx.security:security-state:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على عمليات الربط هذه.
الميزات الجديدة
- "حالة الأمان" هي مكتبة جديدة يمكن للمطوّرين استخدامها للحصول على بيانات قابلة للتنفيذ حول إصدارات مكوّنات النظام القابلة للتحديث وتحديثات الأمان والإصلاحات المطبَّقة.
Security-App-Authenticator-Testing Version 1.0
الإصدار 1.0.0-beta01
6 مارس 2024
تم إصدار androidx.security:security-app-authenticator:1.0.0-beta01
وandroidx.security:security-app-authenticator-testing:1.0.0-beta01
. يتضمّن الإصدار 1.0.0-beta01 عمليات الربط هذه.
الإصدار 1.0.0-alpha02
13 كانون الأول (ديسمبر) 2023
تم إصدار androidx.security:security-app-authenticator-testing:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.
إصلاح الأخطاء
- تم تعديل الاختبار لسلوك واجهة برمجة التطبيقات الجديد الذي لم يعُد يفترض أنّه
Binder#getCalling[Uid|Pid]
في حال عدم تقديمه إلى واجهات برمجة التطبيقات[check|enforce]CallingAppIdentity
. (I1851b)
الإصدار 1.0.0-alpha01
2 حزيران (يونيو) 2021
تم إصدار androidx.security:security-app-authenticator-testing:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.
الميزات الجديدة
توفّر مكتبة الاختبار هذه أداة إنشاء يمكن استخدامها لضبط عنصر AppAuthenticator قابل للحقن لاستيفاء متطلبات الاختبار. تتيح هذه المكتبة عدة طرق لضبط AppAuthenticator:
- يمكن تحديد سياسة اختبار عامة تُبلغ عن مطابقة توقيع لجميع الحِزم المُعلَن عنها في الإعدادات.
- يمكن تحديد حِزم فردية لعرض مطابقة توقيع مع جميع الحِزم الأخرى التي لا تُظهر أي مطابقة.
- يمكن ضبط هويات التوقيع الصريحة لكل حزمة، ولن يُبلغ AppAuthenticator الناتج عن ذلك إلا عن تطابق التوقيع إذا كانت الهوية المقدَّمة تتطابق مع البيان في ملف الإعدادات.
- يمكن أيضًا التعامل مع الحِزم على أنّها غير مثبّتة أو أنّها تحتوي على معرّف مستخدم صريح.
Security-App-Authenticator Version 1.0.0
الإصدار 1.0.0-alpha03
13 كانون الأول (ديسمبر) 2023
تم إصدار androidx.security:security-app-authenticator:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة إمكانية استخدام حالات لا يتوفّر فيها معرّف UID أو معرّف PID للحزمة المطلوب إثبات ملكيتها. تتيح واجهات برمجة التطبيقات الآن حالات مثل
startActivityForResult
والأنشطة أو الأجهزة المستلِمة التي تتم فيها مشاركة هوية التطبيق المُرسِل من خلال[Activity|Broadcast]Options#setShareIdentityEnabled
. - تم تعديل سلوك
[check|enforce]CallingAppIdentity(String, String)
لدعم حالات الاستخدام الجديدة هذه، ولن يتم استخدام هذه الطرق تلقائيًا باستخدامBinder#getCalling[Uid|Pid]
، بل ستتخطّى بدلاً من ذلك التحقّق من رقم تعريف فريد لحزمة المُتصل إذا لم يتم تقديمه صراحةً. (I1851b)
الإصدار 1.0.0-alpha02
2 حزيران (يونيو) 2021
تم إصدار androidx.security:security-app-authenticator:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.
تغييرات واجهة برمجة التطبيقات
- استعدادًا لإتاحة علامة حماية إذن
knownSigner
الجديدة التي تم تقديمها في Android 12، لم يعُد بالإمكان تحديد سمة digestAlgorithm في الإعدادات، وبدلاً من ذلك، يجب احتساب جميع ملخّصات الشهادات باستخدام SHA-256.
إصلاح الأخطاء
- تم الآن توحيد جميع ملخّصات الشهادات المقدَّمة في الإعدادات لضمان إمكانية الإبلاغ عن مطابقة ناجحة للتوقيع عند احتساب الملخّص أثناء التشغيل وكذلك عند تحديد هوية توقيع صريحة عند استخدام مكتبة الاختبار.
الإصدار 1.0.0-alpha01
5 أيار (مايو) 2021
تم إصدار androidx.security:security-app-authenticator:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.
الميزات الجديدة
AppAuthenticator هي مكتبة جديدة تهدف إلى تبسيط عملية التحقّق من ثقة التطبيق استنادًا إلى هوية التوقيع. ما على التطبيق سوى تحديد ملف إعدادات XML يحتوي على أسماء الحِزم وهويات التوقيع للتطبيقات الموثوق بها، وستتولى المكتبة التحقّق من هوية التوقيع للتطبيقات أثناء التشغيل.
الإصدار 1.1.0
الإصدار 1.1.0-alpha06
19 نيسان (أبريل) 2023
تم إصدار androidx.security:security-crypto:1.1.0-alpha06
وandroidx.security:security-crypto-ktx:1.1.0-alpha06
. يحتوي الإصدار 1.1.0-alpha06 على هذه المراجعات.
الميزات الجديدة
- تم تعديل الاعتماد على Tink إلى الإصدار 1.8.0
الإصدار 1.1.0-alpha05
22 شباط (فبراير) 2023
تم إصدار androidx.security:security-crypto:1.1.0-alpha05
وandroidx.security:security-crypto-ktx:1.1.0-alpha05
. يحتوي الإصدار 1.1.0-alpha05 على هذه المراجعات.
إصلاح الأخطاء
- تم إصلاح خطأ في
MasterKeys.getOrCreate
(I3391e، b/268572037)
الإصدار 1.1.0-alpha04
9 تشرين الثاني (نوفمبر) 2022
تم إصدار androidx.security:security-crypto:1.1.0-alpha04
وandroidx.security:security-crypto-ktx:1.1.0-alpha04
. يحتوي الإصدار 1.1.0-alpha04 على هذه المراجعات.
الميزات الجديدة
- تمت إزالة رسالة السجلّ "تعذّر العثور على مجموعة المفاتيح، سيتم إنشاء مجموعة جديدة" عند تشغيل التطبيق لأول مرة. (b/185219606)
- تمت ترقية الاعتمادية على Tink إلى الإصدار 1.7.0.
تغييرات واجهة برمجة التطبيقات
- تغيير
EncryptedFile#openFileInput()
لعرضFileNotFoundException
بدلاً منIOException
العام عندما لا يكون الملف المطلوب متوفّرًا (I80e41، b/148804719) - تم تعديل فئة MasterKeys لتطلب استخدام Android M بدلاً من كل طريقة من طرقها. (I8b4b8)
- تغيير جميع أدوات الحصول على الإعدادات المفضّلة في
EncryptedSharedPreferences
(مثل#getString
و#getInt
) لطرحSecurityException
في حالات نادرة لا يمكن فيها مطابقة نوع القيمة مع أحد الصيغ المحدّدة للعدد الإجمالي. (b/241699427)
إصلاح الأخطاء
- خفض الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) لمكتبة security-crypto-ktx إلى الإصدار 21 (b/193550375) لتصبح متزامنة مع مكتبة security-crypto
- تم إصلاح خطأ في التزامن عند إنشاء
EncryptedFile
متعددة (b/136590547)
المساهمة الخارجية
- تلقّينا حلّاً لمشكلة
EncryptedSharedPreferences.Editor#remove
من chr.ibbotson@gmail.com (b/224994760 وb/134197835 وf44d44d).
Security-Crypto-Ktx الإصدار 1.1.0-alpha03
18 أيار (مايو) 2021
تم إصدار androidx.security:security-crypto-ktx:1.1.0-alpha03
. يحتوي الإصدار 1.1.0-alpha03 على هذه المراجعات.
تم تعديلها لتتطابق مع androidx.security:security-crypto:1.1.0-alpha03
.
الإصدار 1.1.0-alpha03
2 كانون الأول (ديسمبر) 2020
تم إصدار androidx.security:security-crypto:1.1.0-alpha03
. يحتوي الإصدار 1.1.0-alpha03 على هذه المراجعات.
الميزات الجديدة
- تم تعديل Tink إلى الإصدار الثابت
1.5.0
الإصدار 1.1.0-alpha02
5 آب (أغسطس) 2020
تم إصدار androidx.security:security-crypto:1.1.0-alpha02
وandroidx.security:security-crypto-ktx:1.1.0-alpha02
. يحتوي الإصدار 1.1.0-alpha02 على هذه المراجعات.
الميزات الجديدة
- تم تعديل Tink إلى الإصدار الثابت
1.4.0
إصلاح الأخطاء
- من المفترض أن يؤدي تحديث Tink إلى حلّ مشاكل R8 وProguard المتعلّقة بتبعية Protobuf المظلّلة.
- من المفترض أن يعالج تحديث Tink أخطاء عدم التزامن في AndroidKeyStore بشكل سلس.
المساهمة الخارجية
- محو
mKeysChanged
عند التطبيق، إصلاح EncryptedSharedPreferences (aosp/1323026)
الإصدار 1.1.0-alpha01
10 حزيران (يونيو) 2020
تم إصدار androidx.security:security-crypto:1.1.0-alpha01
. يحتوي الإصدار 1.1.0-alpha01 على هذه المراجعات.
الميزات الجديدة
- أصبح نظام التشغيل Lollipop (المستوى 21 من واجهة برمجة التطبيقات والإصدارات الأحدث) متوافقًا الآن. يُرجى العلم أنّه لا يتم استخدام AndroidKeyStore مع واجهتَي برمجة التطبيقات 21 و22. (I7c12d، b/132325342)
- توفّر فئة MasterKey الجديدة المزيد من الخيارات للمفاتيح، كما يتم إيقاف MasterKeys نهائيًا لإتاحة الميزات والإصدارات الجديدة من Android التي لا تتضمّن KeyGenParamSpec.
Security-Identity-Credential Version 1.0.0
الإصدار 1.0.0-alpha03
1 أيلول (سبتمبر) 2021
تم إصدار androidx.security:security-identity-credential:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.
الميزات الجديدة
- تمت إضافة ميزات بيانات اعتماد الهوية المستندة إلى الأجهزة في Android 12.
الإصدار 1.0.0-alpha02
24 شباط (فبراير) 2021
تم إصدار androidx.security:security-identity-credential:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.
إصلاح الأخطاء
- تعديل Identity Credential API لمطابقة خطط Android 12 (Iff83e)
الإصدار 1.0.0-alpha01
19 آب (أغسطس) 2020
تم إصدار androidx.security:security-identity-credential:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.
الميزات الجديدة
يقدّم إصدار Jetpack هذا إصدارًا من Jetpack لواجهات برمجة التطبيقات Identity Credential API التي تمت إضافتها إلى Android 11 والمستوى 30 لواجهة برمجة التطبيقات. إذا كان الجهاز يعمل بنظام التشغيل Android 11 وكان مزوّدًا بإمكانية استخدام بيانات اعتماد الهوية المستندة إلى الأجهزة، سيعيد Jetpack توجيه المكالمات إلى واجهة برمجة تطبيقات النظام الأساسي. وبخلاف ذلك، سيتم استخدام عملية تنفيذ مستندة إلى "متجر مفاتيح Android". على الرغم من أنّ التنفيذ المستند إلى "متجر مفاتيح Android" لا يقدّم المستوى نفسه من الأمان والخصوصية، إلا أنّه مناسب تمامًا لكل من حاملي البيانات ومورّديها في الحالات التي تكون فيها جميع البيانات موقَّعة من موفّر البيانات. تتطلّب هذه المكتبة المستوى 24 من واجهة برمجة التطبيقات أو الإصدارات الأحدث.
توفّر واجهات برمجة تطبيقات Identity Credential واجهات لمساحة تخزين آمنة لمستندات هوية المستخدمين. وهذه الواجهات برمجة التطبيقات عامة ومجرّدة إلى حدّ كبير عن قصد. لا تتناول واجهات برمجة التطبيقات هذه، إلى أقصى حدّ ممكن، مواصفات تنسيقات الرسائل ودلالات التواصل مع أجهزة إثبات صحة بيانات الاعتماد والهيئات المانحة للشهادات. إنّ هياكل البيانات التي تعتمد عليها واجهات برمجة التطبيقات متوافقة مع هياكل البيانات الواردة في معيار ISO/IEC IS 18013-5 Personal identification — ISO-compliant driving licence — Part 5: Mobile driving licence (mDL) application standard الذي سيتم إصداره قريبًا.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة Identity Credential Jetpack. (Icf90b)
الإصدار 1.0.0
الإصدار 1.0.0
21 نيسان (أبريل) 2021
تم إصدار androidx.security:security-crypto:1.0.0
. يحتوي الإصدار 1.0.0 على عمليات الربط هذه.
الميزات الرئيسية في الإصدار 1.0.0
أبرز الميزات
EncryptedFile
، يوفّر مصادر إدخال وإخراج مشفّرة لقراءة البيانات المشفّرة أو كتابتها في ملف.EncryptedSharedPreferences
، يوفّر تنفيذًا لواجهة SharedPreferences التي تُشفِّر أو تفكّ شفرة جميع المفاتيح والقيم تلقائيًا.- توفّر إنشاء مفاتيح بسيط عبر MasterKeys.
- يعتمد على الإصدار 1.5.0 من Tink لزيادة الثبات.
الإصدار 1.0.0-rc04
13 كانون الثاني (يناير) 2021
تم إصدار androidx.security:security-crypto:1.0.0-rc04
. يحتوي الإصدار 1.0.0-rc04 على هذه المراجعات.
إصلاح الأخطاء
- تمت ترقية Tink إلى الإصدار 1.5.0 لزيادة الثبات.
الإصدار 1.0.0-rc03
5 آب (أغسطس) 2020
تم إصدار androidx.security:security-crypto:1.0.0-rc03
. يحتوي الإصدار 1.0.0-rc03 على هذه المراجعات.
الميزات الجديدة
- تم تعديل Tink إلى الإصدار الثابت
1.4.0
إصلاح الأخطاء
- من المفترض أن يؤدي تحديث Tink إلى حلّ مشاكل R8 وProguard المتعلّقة بتبعية Protobuf المظلّلة.
- من المفترض أن يعالج تحديث Tink أخطاء عدم التزامن في AndroidKeyStore بشكل سلس.
المساهمة الخارجية
- محو
mKeysChanged
عند التطبيق، إصلاح EncryptedSharedPreferences (aosp/1323026)
الإصدار 1.0.0-rc02
20 أيار (مايو) 2020
تم إصدار androidx.security:security-crypto:1.0.0-rc02
. يحتوي الإصدار 1.0.0-rc02 على هذه المراجعات.
إصلاح الأخطاء
- تم التحديث إلى الإصدار 1.4.0-rc2 من Tink، والذي يحلّ مشكلة تعارض حزمة تطوير البرامج (SDK) لنظام التشغيل Android الأخرى التي تم الإبلاغ عنها على نطاق واسع. (I8a831)
- تم حلّ المشكلة
apply()
فيEncryptedSharedPreferences
. (I29069، b/154366606)
الإصدار 1.0.0-rc01
نيسان (أبريل) 2020
تم إصدار androidx.security:security-crypto:1.0.0-rc01
. يحتوي الإصدار 1.0.0-rc01 على هذه المراجعات.
إصلاح الأخطاء
- تمّت إضافة عمليات تحقّق للتأكّد من أنّه إذا تمّ تمرير
KeyGenParamSpec
إلىMasterKeys.getOrCreate
، إذا كانتgetUserAuthenticationRequired
تعرِضtrue
، تعرِضgetUserAuthenticationValidityDurationSeconds
قيمة أكبر من 0. (I911f5) (b/152644939)
الإصدار 1.0.0-beta01
18 آذار (مارس) 2020
تم إصدار androidx.security:security-crypto:1.0.0-beta01
بدون أي تغييرات منذ 1.0.0-alpha02
. يحتوي الإصدار 1.0.0-beta01 على هذه المراجعات.
الإصدار 1.0.0-alpha02
23 أيار (مايو) 2019
تم إصدار androidx.security:security-crypto:1.0.0-alpha02
.
يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار في سجلّ عمليات الربط هذا.
إصلاح الأخطاء
- تم إصلاح مشكلة استرجاع المفاتيح/القيم المرتبطة بالإعدادات المفضّلة المشتركة من
getAll()
. - تم حظر استخدام مفاتيح الإعدادات المفضّلة المحظورة.
- تعديلات طفيفة على Javadoc
الإصدار 1.0.0-alpha01
7 أيار (مايو) 2019
تم إصدار androidx.security:security-crypto:1.0.0-alpha01
. يمكن العثور على عمليات الربط
المضمّنة في هذا الإصدار هنا.
أبرز الميزات الجديدة
EncryptedFile
، يوفّر مصادر إدخال وإخراج مشفّرة لقراءة البيانات المشفّرة أو كتابتها في ملف.EncryptedSharedPreferences
، يوفّر تنفيذًاSharedPreferences
الذي يشفّر/يفكّشفير جميع المفاتيح والقيم تلقائيًا.- توفّر إنشاء مفاتيح بسيط عبر MasterKeys.