مع macOS Mojave ، قدمت Apple دعمًا لخدمات Hunted Runtime و Notary. تم تصميم هاتين الخدمتين لتعزيز أمان التطبيق على ماك. في الآونة الأخيرة ،
قالت الشركة :
بدءًا من نظام التشغيل MacOS 10.14.5 ، يجب أن تتم مصادقة جميع ملحقات kernel الجديدة أو المحدثة وجميع البرامج من المطورين الذين أتقنوا التوزيع بمعرّف المطور من خلال Hardened Runtime و Notary لتشغيله. سيتطلب الإصدار المستقبلي من نظام التشغيل MacOS اعتمادًا افتراضيًا لجميع البرامج.
اليوم سوف نساعدك على فهم المتطلبات الجديدة من وجهة نظر Xamarin.

الأمن على ماك
- تسجيل الكود - في برنامج MacOS ، يتطلب GateKeeper توقيع تشفير لحزم التطبيقات باستخدام مفتاح من حساب مطور Apple.
- لقد كان هذا مطلبًا منذ نظام MacOS Lion (10.7).
- في أول مرة يكون من الصعب الحصول على المفاتيح والشهادات الصحيحة ، لذلك راجع وثائق توقيع تطبيق Xamarin.Mac .
- Runtime Hardened Runtime هو المستوى الثاني من الأمان الذي تم إدخاله في نظام التشغيل MacOS Mojave (10.14). عند توقيع رمز يحمل علامة إضافية ، سوف يطبق وقت تشغيل الكاكاو عدة قيود على التطبيق قيد التشغيل.
- على سبيل المثال ، تتضمن بعض القيود رفض تنفيذ التعليمات البرمجية ذاتية التعديل أو تنزيل مكتبات ديناميكية غير موقعة.
- يمكن تعطيل كل فئة من القيود باستخدام حقوق خاصة.
- Notary Service هي المستوى الثالث من الأمان الذي يتم تقديمه أيضًا في نظام التشغيل MacOS Mojave (10.14). هذه هي خدمة مسح الرموز التي تفحص البرنامج بحثًا عن محتوى ضار. لاجتياز فحص كاتب العدل ، يجب أن يكون التطبيق الخاص بك قد تم اختباره بالفعل في وقت التشغيل المتصلد.
كيف تبدأ
لبدء إعداد طلبك لهذه المتطلبات الجديدة ، اتبع الخطوات التالية:
تعيين الحقوق
حتى ننفذ دعم IDE للخيارات الجديدة ، يجب عليك إكمال خطوتين يدويًا:
- افتح تطبيق Xamarin.Mac .csproj في محرر نصوص وأضفه
إلى قسم الإصدار. - افتح الملف entitlements.plist في محرر نصوص وأضفه

قم بتشغيل التطبيق الخاص بك واختباره. في حالة حدوث عطل ، قد تحتاج
إلى حقوق إضافية من Apple.
أؤكد التطبيق
للحصول على الشهادة ، تحتاج إلى تنفيذ خطوتين:
- تحميل التجميع إلى خدمة كاتب العدل
- إرفاق تذكرة إلى التطبيق
كل شيء جاهز! إذا كان لديك أي ملاحظات بخصوص هذه العملية ، فسيسعدنا أن نسمع منك. أرسل بريدًا إلكترونيًا إلى david.ortinau@microsoft.com أو
أضف تعليقًا على GitHub .