الحصول على استعداد لوقت تشغيل ماك تصلب وكاتب العدل

مع MacOS Mojave ، قدمت Apple دعمًا لخدمة Hunted Runtime و Notary. تم تصميم هاتين الخدمتين لتحسين أمان التطبيق على macOS. ذكرت آبل مؤخرًا:


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



اليوم سوف تساعدك على فهم القواعد الجديدة من وجهة نظر Xamarin.
هذا المقال في بلوق

الأمن على ماك


  • توقيع الكود - في برنامج MacOS ، يتطلب GateKeeper توقيع حزم التطبيقات بطريقة مشفرة باستخدام مفتاح من حساب مطور Apple.

    • لقد كان هذا مطلبًا منذ نظام MacOS Lion (10.7).
    • قد يكون الحصول على المفاتيح والشهادات الصحيحة أمرًا صعبًا في المرة الأولى. لذلك راجع وثائق توقيع Xamarin.Mac .
  • Hunted Runtime - هذه هي الطبقة الثانية من الأمن التي أدخلت في نظام التشغيل MacOS Mojave (10.14). من خلال التوقيع على الكود مع علامة إضافية ، سوف يطبق وقت تشغيل الكاكاو عددًا من القيود على تشغيل التطبيق.

    • على سبيل المثال ، تتضمن بعض القيود رفض تنفيذ التعليمات البرمجية ذاتية التعديل أو تحميل مكتبات ديناميكية غير موقعة.
    • يمكن إلغاء الاشتراك في كل فئة من فئات القيود من خلال استخدام الاستحقاقات الخاصة.
  • خدمة كاتب العدل - هذه هي الطبقة الثالثة من الأمن التي أدخلت أيضا في macOS Mojave (10.14). إنها خدمة مسح رمز ، والتي سوف تفحص البرنامج بحثًا عن محتوى ضار. لتمرير فحص كاتب العدل ، يجب أن يكون تطبيقك قد اشترك بالفعل في وقت التشغيل المتصلب.

كيف تبدأ؟


للبدء في إعداد طلبك لهذه المتطلبات الجديدة ، إليك بعض الخطوات التي يجب اتخاذها:


  • افتح التطبيق الخاص بك وتأكد من تمكين توقيع الكود مع ملف الاستحقاق لإصدار الإصدار. تأكد من تشغيل التطبيق بنجاح. اتبع وثائق التوقيع Xamarin.Mac إذا واجهت أي مشكلة.
  • قم بتنزيل وتثبيت Xamarin.Mac 5.10 (d16-1) هنا .

تكوين حقوقك


حتى ننفذ دعم IDE للخيارات الجديدة ، هناك حاجة لخطوتين يدويتين:



  1. افتح تطبيق Xamarin.Mac .csproj في محرر نصوص وأضفه

    <UseHardenedRuntime>true</UseHardenedRuntime> 

    إلى قسم الإصدار
  2. افتح ملف entitlements.plist الخاص بك في محرر نصوص وأضفه

     <key>com.apple.security.cs.allow-jit</key> <true/> 

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


لاحظ تطبيقك


لتوثيق تحتاج إلى اتباع خطوتين:


  1. تحميل البناء الخاص بك إلى خدمة كاتب العدل
  2. التيلة التذكرة إلى التطبيق الخاص بك

أنت كل مجموعة! إذا كان لديك أي ملاحظات بخصوص هذه العملية ، فنحن نود أن نسمع منك. أرسل بريدًا إلكترونيًا إلى david.ortinau@microsoft.com أو أضف تعليقًا على GitHub .



ديفيد أورتيناو
ديفيد أورتيناو

مدير برامج أول ، أدوات المطور المحمول

Source: https://habr.com/ru/post/ar448804/


All Articles