الميزات الجديدة للمؤسسات في Android 10

تقدّم هذه الصفحة نظرة عامة على واجهات برمجة التطبيقات والميزات الجديدة المخصّصة للمؤسسات والتغييرات في السلوك التي تم طرحها في نظام التشغيل Android 10.

ملفات العمل على الأجهزة المملوكة للشركة

يقدّم نظام التشغيل Android 10 ميزات جديدة لتوفير الأجهزة وإثبات صحتها للأجهزة المملوكة للشركة التي تتطلّب ملف عمل فقط.

أدوات محسّنة لتوفير ملفات العمل

يمكنك توفير ملفات عمل على الأجهزة التي تعمل بنظام التشغيل Android 10 والإصدارات الأحدث والمُسجَّلة باستخدام رمز الاستجابة السريعة أو Zero-touch. أثناء توفير جهاز مملوك للشركة، يتيح عنصر إضافي جديد في Intent لتطبيقات وحدة التحكّم بسياسة الجهاز (DPC) بدء عملية إعداد أو ملف العمل أو الإدارة بالكامل. بعد إنشاء ملف عمل أو إعداد الإدارة الكاملة، يجب أن تعرض وحدات تحكّم سياسات الأجهزة شاشات امتثال السياسات لفرض أي سياسات أولية.

في ملف البيان الخاص بوحدة التحكّم في سياسة الجهاز (DPC)، حدِّد فلتر أهداف جديدًا لـ GET_PROVISIONING_MODE في أحد الأنشطة، وأضِف الإذن BIND_DEVICE_ADMIN لمنع التطبيقات العشوائية من بدء النشاط. على سبيل المثال:

<activity
    android:name=".GetProvisioningModeActivity"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_DEVICE_ADMIN">
    <intent-filter>
        <action
            android:name="android.app.action.GET_PROVISIONING_MODE" />
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

أثناء عملية التوفير، يطلق النظام النشاط المرتبط بـ intent filter. الغرض من هذا النشاط هو تحديد وضع الإدارة (ملف العمل أو الإدارة بالكامل).

قد يكون من المفيد استرداد إضافات الإعداد قبل تحديد وضع الإدارة المناسب للجهاز. يمكن للنشاط استدعاء getIntent() لاسترداد ما يلي:

يمكن أيضًا لموفّري معالجة البيانات إنشاء هدف نتيجة جديد وإضافة العناصر الإضافية التالية إليه:

لضبط وضع الإدارة على الجهاز، اتّصِل بالرقم putExtra(DevicePolicyManager.EXTRA_PROVISIONING_MODE,desiredProvisioningMode)، حيث يمثّل desiredProvisioningMode ما يلي:

  • ملف العمل: PROVISIONING_MODE_MANAGED_PROFILE
  • مُدار بالكامل: PROVISIONING_MODE_FULLY_MANAGED_DEVICE

أكمِل عملية توفير ملف العمل أو الإدارة بالكامل من خلال إعادة إرسال تفاصيل التوفير إلى عملية الإعداد باستخدام setResult(RESULT_OK, Intent) وإغلاق جميع الشاشات النشطة باستخدام finish().

بعد اكتمال عملية توفير الجهاز، يتوفّر Intent جديد يمكن لوحدات التحكّم في سياسات الأجهزة استخدامه لتشغيل شاشات الامتثال وفرض إعدادات السياسات الأولية. على أجهزة ملف العمل، يتم عرض شاشات التوافق في ملف العمل. يجب أن تضمن وحدة التحكّم بسياسة الجهاز (DPC) عرض شاشات الامتثال للمستخدمين، حتى إذا خرج المستخدم من مسار الإعداد.

في ملف البيان الخاص بوحدة التحكّم في سياسة الجهاز (DPC)، حدِّد فلتر أهداف جديدًا لـ ADMIN_POLICY_COMPLIANCE في أحد الأنشطة، وأضِف الإذن BIND_DEVICE_ADMIN لمنع التطبيقات العشوائية من بدء النشاط. على سبيل المثال:

<activity
    android:name=".PolicyComplianceActivity"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_DEVICE_ADMIN">
    <intent-filter>
        <action android:name="android.app.action.ADMIN_POLICY_COMPLIANCE" />
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

يجب أن يستخدم تطبيق سياسة الجهاز هذا Intent الجديد بدلاً من الاستماع إلى البث ACTION_PROFILE_PROVISIONING_COMPLETE.

يمكن للنشاط المرتبط بـ intent filter استدعاء getIntent() لاسترداد EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE. بعد تنفيذ عملية التحقّق من الامتثال للسياسة، يجب أن تعرض ADMIN_POLICY_COMPLIANCE الرمز setResult(RESULT_OK, Intent) وأن تغلق جميع الشاشات النشطة باستخدام finish().

تعيد الأجهزة المُدارة بالكامل المستخدمين إلى الشاشة الرئيسية. تطلب أجهزة ملف العمل من المستخدمين إضافة حساباتهم الشخصية قبل العودة إلى الشاشة الرئيسية.

التصديق على رقم تعريف الجهاز في ملف العمل

يمكن لوحدات التحكّم في سياسات الأجهزة (DPC) التي تم ضبطها كمشرف على ملف عمل تم توفيره باستخدام برنامج "إعداد الأجهزة الجوّالة للمؤسسات دفعةً واحدة" الحصول على معرّفات الأجهزة التي تم إثبات صحتها باستخدام الأجهزة الآمنة، مثل رقم IMEI أو الرقم التسلسلي للشركة المصنّعة. يجب أن يتضمّن الجهاز أجهزة آمنة (مثل بيئة تنفيذ موثوقة (TEE) أو عنصر آمن (SE)) وأن يتيح إثبات صحة معرّف الجهاز و"إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة".

يمكن لمكوّن المشرف في ملف العمل استدعاء DevicePolicyManager.generateKeyPair()، مع تمرير واحد أو أكثر من ID_TYPE_SERIAL أو ID_TYPE_IMEI أو ID_TYPE_MEID للوسيطة idAttestationFlags.

لمزيد من المعلومات حول استخراج أرقام تعريف الأجهزة والتحقّق من صحتها، يُرجى الاطّلاع على التحقّق من صحة أزواج المفاتيح المستندة إلى الأجهزة باستخدام خدمة تصديق المفاتيح.

تحسينات على ملف العمل

تتوفّر واجهات برمجة تطبيقات جديدة تتيح إمكانية عرض التقويم على مستوى الملف الشخصي وحظر تثبيت التطبيقات من مصادر غير معروفة على مستوى الجهاز.

ملف العمل، مصادر غير معروفة على مستوى الجهاز

يُطلق على التطبيقات التي يتم تنزيلها من مصادر أخرى غير Google Play (أو متاجر التطبيقات الموثوق بها الأخرى) اسم "تطبيقات من مصادر غير معروفة". في نظام التشغيل Android 10، يمكن لمشرفي ملفات العمل منع أي مستخدم أو ملف شخصي من تثبيت تطبيقات من مصادر غير معروفة في أي مكان على الجهاز عن طريق إضافة قيود المستخدم الجديدة DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY. بعد إضافة هذا القيد، سيظل بإمكان أي مستخدم للجهاز تثبيت التطبيقات باستخدام adb.

لمنع المستخدمين من تثبيت التطبيقات من مصادر غير معروفة عن طريق الخطأ، ننصحك بإضافة قيود المستخدم هذه لأنّها لا تتطلّب تثبيت &quot;خدمات Google Play&quot;. إذا كنت تريد توفير الدعم لإصدارات Android القديمة، يمكنك ضبط قيمة إعداد مُدار في Google Play.

حصر أجهزة الإدخال المسموح بها على ملفات العمل

عندما يتصل مشرفو ملفات العمل برقم DevicePolicyManager.setPermittedInputMethods()، يتم حصر المستخدمين في طرق الإدخال المسموح بها داخل ملف العمل فقط بدلاً من الجهاز بأكمله، ما يمنح المستخدمين تحكّمًا كاملاً في طرق الإدخال على الجانب الشخصي من أجهزتهم.

حجب بيانات ملفات العمل بدون إشعار

تمت إضافة العلامة WIPE_SILENTLY إلى DevicePolicyManager.wipeData(). في حال ضبط العلامة، لن يتم إرسال إشعار إلى المستخدمين بعد محو بيانات ملف العمل باستخدام wipeData().

ميزات جديدة للأجهزة المُدارة بالكامل

يقدّم نظام التشغيل Android 10 ميزات وواجهات برمجة تطبيقات جديدة للأجهزة المُدارة بالكامل، بما في ذلك تحديثات النظام اليدوية، وتوسيع نطاق توفير QR-code وNFC ليشمل بيانات اعتماد شبكة Wi-Fi تستخدم بروتوكول EAP، وإتاحة استخدام نظام اسم النطاق (DNS) عبر بروتوكول أمان النقل (TLS).

تثبيت تحديث النظام يدويًا

في نظام التشغيل Android 10، يمكن لمشرفي الأجهزة المُدارة بالكامل تثبيت تحديثات النظام من خلال ملف تحديث النظام. تتيح تحديثات النظام اليدوية لمشرفي تكنولوجيا المعلومات تنفيذ ما يلي:

  • اختبِر التحديث على عدد قليل من الأجهزة قبل تثبيته على نطاق واسع.
  • تجنَّب عمليات التنزيل المكرّرة على الشبكات ذات معدل نقل البيانات المحدود.
  • يمكنك تثبيت التحديثات على فترات متقطّعة أو تحديث الأجهزة عندما لا تكون قيد الاستخدام.

أولاً، يضبط مشرف تكنولوجيا المعلومات سياسة تحديث النظام المؤجّل لتأخير التثبيت التلقائي (إذا لزم الأمر). بعد ذلك، يطلب DPC للجهاز installSystemUpdate() مع مسار ملف تحديث نظام الشركة المصنّعة للجهاز. مرِّر عنصر InstallSystemUpdateCallback يمكن للنظام استخدامه للإبلاغ عن الأخطاء التي تحدث قبل إعادة تشغيل الجهاز. في حال حدوث خطأ، يستدعي النظام onInstallUpdateError() مع رمز الخطأ.

بعد إعادة تشغيل الجهاز، يجب أن تؤكّد وحدة التحكّم في سياسة الجهاز (DPC) اكتمال عملية التثبيت باستخدام إحدى واجهات برمجة التطبيقات للإصدار، مثل Build.FINGERPRINT. في حال تعذّر التحديث، يُرجى إبلاغ مشرف تكنولوجيا المعلومات بذلك.

توفير شبكة Wi-Fi في برنامج استخدام الميزة قبل إطلاقها

في نظام التشغيل Android 10، يمكن أن تحتوي رموز الاستجابة السريعة وبيانات الاتصال بالحقل القريب (NFC) المستخدَمة لتوفير الأجهزة على إعدادات وشهادات اعتماد بروتوكول المصادقة القابل للتوسيع (EAP)، بما في ذلك الشهادات. عندما يمسح أحد المستخدمين رمز استجابة سريعة ضوئيًا أو ينقر على علامة NFC، يتم تلقائيًا إثبات صحة الجهاز على شبكة Wi-Fi محلية باستخدام بروتوكول EAP، ويبدأ عملية توفير الجهاز بدون أي إدخال يدوي إضافي.

للمصادقة على شبكة Wi-Fi باستخدام EAP، أضِف EXTRA_PROVISIONING_WIFI_SECURITY_TYPE إلى القيمة "EAP". لتحديد مصادقة EAP، يمكنك إضافة إضافات التوفير التالية إلى هدفك:

إتاحة استخدام نظام أسماء النطاقات الخاص

يمكن للمؤسسات استخدام نظام أسماء النطاقات عبر TLS (المعروف باسم نظام أسماء النطاقات الخاص على أجهزة Android) لتجنُّب تسريب طلبات بحث نظام أسماء النطاقات، بما في ذلك طلبات بحث أسماء المضيفين الداخلية. يمكن لمكوّنات المشرف في الأجهزة المُدارة بالكامل التحكّم في إعدادات نظام أسماء النطاقات الخاص بالجهاز. لضبط وضع "نظام أسماء النطاقات الخاص"، اتّبِع الخطوات التالية:

عندما يتصل DPC بأي من هاتين الطريقتين، يعرض النظام PRIVATE_DNS_SET_NO_ERROR إذا تم الاتصال بنجاح. وفي حال عدم توفّرها، سيتم عرض رسالة خطأ.

لاسترداد وضع "نظام أسماء النطاقات الخاص" والمضيف اللذين تم ضبطهما على أحد الأجهزة، استدعِ الدالتَين getGlobalPrivateDnsMode() وgetGlobalPrivateDnsHost(). يمكنك منع المستخدمين من تغيير إعدادات "نظام أسماء النطاقات الخاص" من خلال إضافة قيود المستخدم DISALLOW_CONFIG_PRIVATE_DNS.

استثناء وضع تأمين شبكة VPN

يتيح "وضع التأمين" في شبكة VPN لأداة DPC حظر أي زيارات على الشبكة لا تستخدم شبكة VPN. يمكن لمشرفي الأجهزة المُدارة بالكامل وملفات العمل استثناء التطبيقات من وضع الحظر. تستخدم التطبيقات المستثناة شبكة VPN تلقائيًا، ولكنها تتصل تلقائيًا بشبكات أخرى إذا لم تكن شبكة VPN متاحة. لن تستخدم التطبيقات المعفاة التي يتم حظرها بشكل صريح من الوصول إلى شبكة VPN سوى الشبكات الأخرى.

لاستثناء تطبيق من وضع الحظر، استدعِ طريقة DevicePolicyManager الجديدة setAlwaysOnVpnPackage() التي تقبل قائمة بحِزم التطبيقات المستثناة. يجب تثبيت أي حِزم تطبيقات تضيفها وحدة التحكّم في سياسات الأجهزة (DPC) على الجهاز عند استدعاء الطريقة. في حال إلغاء تثبيت تطبيق ثم إعادة تثبيته، يجب استثناء التطبيق مرة أخرى. للحصول على التطبيقات التي تم استثناؤها سابقًا من "وضع التأمين"، اتّصِل بالرقم getAlwaysOnVpnLockdownWhitelist().

لمساعدة مشرفي الأجهزة المُدارة بالكامل وملفات العمل في الحصول على حالة &quot;وضع الحظر&quot;، يضيف نظام التشغيل Android 10 الطريقة isAlwaysOnVpnLockdownEnabled().

نطاقات تفويض جديدة

يوسّع نظام التشغيل Android 10 قائمة الوظائف التي يمكن لوحدة التحكُّم بسياسة الجهاز (DPC) تفويضها إلى تطبيقات أخرى أكثر تخصصًا. يصنّف نظام التشغيل Android طرق واجهة برمجة التطبيقات اللازمة لتنفيذ مهمة معيّنة ضمن نطاقات. لتفويض نطاق، استدعِ الدالة setDelegatedScopes() ومرِّر نطاقًا واحدًا أو أكثر من النطاقات التالية:

يقدّم نظام التشغيل Android 10 الفئة الجديدة DelegatedAdminReceiver للتطبيقات المفوضة. يستخدم النظام أداة استقبال البث هذه لإرسال عمليات ردّ الاتصال المشابهة لوحدة التحكّم في سياسة الجهاز إلى التطبيقات المفوضة. يجب أن تنفّذ التطبيقات التي تم تفويضها بتسجيل نشاط الشبكة واختيار الشهادات هذه الفئة. لإضافة هذا المكوّن إلى تطبيق مفوَّض، اتّبِع الخطوات التالية:

  1. أضِف فئة فرعية من DelegatedAdminReceiver إلى تطبيق المفوَّض.
  2. عليك تعريف <receiver> في بيان التطبيق، مع إضافة إجراء intent-filter لكل دالة ردّ. على سبيل المثال، ACTION_NETWORK_LOGS_AVAILABLE أو ACTION_CHOOSE_PRIVATE_KEY_ALIAS.
  3. احمِ أداة استقبال البث باستخدام إذن BIND_DEVICE_ADMIN.

يوضّح المقتطف التالي بيان تطبيق واحد مفوَّض يتعامل مع تسجيل بيانات الشبكة واختيار الشهادات:

<receiver android:name=".app.DelegatedAdminReceiver"
        android:permission="android.permission.BIND_DELEGATED_ADMIN">
    <intent-filter>
        <action android:name="android.app.admin.action.NETWORK_LOGS_AVAILABLE">
        <action android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS">
    </intent-filter>
    </receiver>

تسجيل أنشطة الشبكة

لمساعدة المؤسسات في رصد البرامج الضارة وتتبُّعها، يمكن لوحدات التحكّم بسياسات الجهاز تسجيل عمليات بحث نظام أسماء النطاقات (DNS) وعمليات ربط بروتوكول التحكّم بالنقل (TCP) التي يجريها النظام. في نظام التشغيل Android 10، يمكن للمشرفين على الأجهزة المُدارة بالكامل تفويض تسجيل بيانات الشبكة إلى تطبيق متخصص.

لاسترداد سجلّات الشبكة بعد أن يتيح النظام مجموعة، يجب أن تصنّف التطبيقات المفوضة أولاً DelegatedAdminReceiver (الموضّحة سابقًا) إلى فئات فرعية. في الفئة الفرعية، نفِّذ onNetworkLogsAvailable() من خلال اتّباع الإرشادات الواردة في استرداد السجلات.

يمكن للتطبيقات المفوَّضة استدعاء الطرق التالية DevicePolicyManager (مع تمرير null للوسيطة admin):

لتجنُّب فقدان السجلات، يجب ألا تفعّل وحدات التحكّم بسياسة الجهاز تسجيل بيانات الشبكة إذا كنت تخطّط لتفويضها إلى تطبيق آخر، بل يجب أن يفعّل التطبيق المفوض تسجيل بيانات الشبكة ويجمعها. بعد أن يفوّض DPC تسجيل بيانات الشبكة، لن يتلقّى أي عمليات استدعاء أخرى onNetworkLogsAvailable().

لمعرفة كيفية الإبلاغ عن تسجيل نشاط الشبكة من تطبيق مفوَّض، يمكنك الاطّلاع على دليل المطوّرين تسجيل نشاط الشبكة.

اختيار الشهادة

في نظام التشغيل Android 10، يمكن للمشرفين على الأجهزة المُدارة بالكامل وملفات العمل والمستخدمين الثانويين تفويض عملية اختيار الشهادات إلى تطبيق متخصص.

لاختيار اسم مستعار للشهادة، يجب أن تصنّف التطبيقات المفوضة أولاً DelegatedAdminReceiver (كما هو موضّح سابقًا). في الفئة الفرعية، نفِّذ عملية الاستدعاء onChoosePrivateKeyAlias() وأدخِل اسمًا مستعارًا لشهادة مفضّلة، أو أدخِل null لطلب اختيار شهادة من المستخدم.

إيقاف سياسات مشرف الجهاز نهائيًا

يمنع نظام التشغيل Android 10 التطبيقات ووحدات التحكّم في سياسات الأجهزة (DPC) من تطبيق سياسات مشرف الجهاز القديمة. ننصح العملاء والشركاء بالانتقال إلى الأجهزة المُدارة بالكامل أو ملفات العمل. تؤدي السياسات التالية إلى طرح الخطأ SecurityException عند استدعائها من خلال مشرف جهاز يستهدف الإصدار 10 من نظام التشغيل Android:

تستخدم بعض التطبيقات مشرف الجهاز لإدارة أجهزة المستهلكين. على سبيل المثال، قفل جهاز مفقود ومحو بياناته. لإتاحة ذلك، ستظل السياسات التالية متوفرة:

لمزيد من المعلومات حول هذه التغييرات، يُرجى الاطّلاع على مقالة إيقاف ميزة "مشرف الجهاز" نهائيًا.

ميزات جديدة للتطبيقات

يمكن للتطبيقات التي تستهدف الإصدار 10 من نظام التشغيل Android الاستعلام عن مستوى تعقيد قفل الشاشة الذي تم ضبطه على الجهاز قبل عرض البيانات السرية أو إطلاق الميزات المهمة. تستفيد التطبيقات التي تستخدم واجهة برمجة التطبيقات KeyChain من تحسينات في السلوك، كما تتوفّر ميزات جديدة لتطبيقات شبكة VPN.

التحقّق من جودة قفل الشاشة

بدءًا من Android 10، يمكن للتطبيقات التي تتضمّن ميزات مهمة تتطلّب قفل شاشة الاستعلام عن مستوى صعوبة قفل الشاشة لجهاز أو ملف عمل. يمكن للتطبيقات التي تتطلّب قفل شاشة أكثر أمانًا توجيه المستخدم إلى إعدادات قفل الشاشة في النظام، ما يتيح له تعديل إعدادات الأمان.

للتحقّق من جودة قفل الشاشة، اتّبِع الخطوات التالية:

لبدء إعدادات قفل شاشة النظام، استخدِم ACTION_SET_NEW_PASSWORD مع EXTRA_PASSWORD_COMPLEXITY—الخيارات التي لا تستوفي مستوى التعقيد المحدّد في بيانات Intent الإضافية تكون غير متاحة. يمكن للمستخدمين الاختيار من بين خيارات قفل الشاشة المتاحة أو الخروج من الشاشة.

أفضل ممارسة: عرض رسالة في تطبيقك قبل فتح صفحة قفل الشاشة التابعة للنظام عند استئناف تطبيقك، اتصِل بالرقم DevicePolicyManager.getPasswordComplexity() مرة أخرى. إذا كان لا يزال من الضروري توفير قفل شاشة أكثر أمانًا، عليك حظر الوصول بدلاً من مطالبة المستخدمين بشكل متكرر بتعديل إعدادات الأمان.

التوافق مع خادم HTTP الوكيل في تطبيقات VPN

في نظام التشغيل Android 10، يمكن لتطبيقات VPN ضبط خادم وكيل HTTP لاتصال VPN. لإضافة خادم وكيل HTTP، يجب أن يضبط تطبيق VPN مثيلاً من ProxyInfo مع مضيف ومنفذ، قبل استدعاء VpnService.Builder.setHttpProxy(). يستخدم النظام والعديد من مكتبات الشبكات إعدادات الخادم الوكيل هذه، ولكن لا يفرض النظام على التطبيقات استخدام خادم وكيل لطلبات HTTP.

للاطّلاع على نموذج التعليمات البرمجية الذي يوضّح كيفية ضبط خادم وكيل HTTP، راجِع تطبيق ToyVPN النموذجي.

أوضاع خدمة شبكة VPN

يمكن لتطبيقات VPN معرفة ما إذا كانت الخدمة تعمل بسبب شبكة VPN قيد التشغيل دائمًا وما إذا كان وضع إلغاء الفتح الذكي مفعّلاً. يمكن أن تساعدك الطرق الجديدة التي تمت إضافتها في Android 10 على تعديل واجهة المستخدم. على سبيل المثال، يمكنك إيقاف زر قطع الاتصال عندما تتحكّم ميزة "شبكة VPN دائمة التفعيل" في دورة حياة خدمتك.

يمكن لتطبيقات VPN استدعاء طرق VpnService التالية بعد الاتصال بالخدمة وإنشاء الواجهة المحلية:

  • isAlwaysOn() لمعرفة ما إذا كان النظام قد بدأ الخدمة بسبب ميزة "شبكة VPN قيد التشغيل دائمًا"
  • isLockdownEnabled() لمعرفة ما إذا كان النظام يحظر الاتصالات التي لا تستخدم شبكة VPN

ستبقى حالة "التشغيل دائمًا" كما هي أثناء تشغيل الخدمة، ولكن قد تتغيّر حالة "وضع الإغلاق".

تحسينات على "سلسلة المفاتيح"

يقدّم نظام التشغيل Android 10 العديد من التحسينات المتعلّقة بواجهة برمجة التطبيقات KeyChain.

عندما يطلب تطبيق KeyChain.choosePrivateKeyAlias()، تعمل أجهزة Android 10 والإصدارات الأحدث على فلترة قائمة الشهادات التي يمكن للمستخدم الاختيار من بينها استنادًا إلى جهات الإصدار وخوارزميات المفاتيح المحدّدة في الطلب.

على سبيل المثال، عندما يرسل خادم TLS رسالة طلب شهادة كجزء من تأكيد اتصال TLS ويطلب المتصفّح KeyChain.choosePrivateKeyAlias()، لن يتضمّن طلب اختيار الشهادة سوى الخيارات التي تتطابق مع مَعلمة جهات الإصدار. إذا لم تتوفّر أي خيارات مطابِقة أو لم يتم تثبيت أي شهادات على الجهاز، لن يظهر للمستخدم طلب تحديد الشهادة.

بالإضافة إلى ذلك، لم يعُد KeyChain يتطلّب أن يكون الجهاز مزوّدًا بقفل شاشة قبل أن يتم استيراد المفاتيح أو شهادات المرجع المصدّق.