موصى به, 2024

اختيار المحرر

كيفية إظهار والتحقق من توقيعات الشفرة للتطبيقات في نظام التشغيل mac os x

من زينو نهار اليوم ØµØ Ø¹ÙŠØ¯ÙƒÙ… انشر الفيديو Øتى يراه كل الØ

من زينو نهار اليوم ØµØ Ø¹ÙŠØ¯ÙƒÙ… انشر الفيديو Øتى يراه كل الØ
Anonim

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

يعد التحقق من توقيع الكود أمرًا مهمًا بشكل خاص لأولئك الذين يحصلون على البرامج والمثبتات من p2p والمصادر الموزعة ، وربما يكون موقع تور أو مجموعات أخبار ، أو IRC ، أو بروتوكول نقل الملفات ، أو مورد شبكة آخر. على سبيل المثال العملي ، دعنا نقول أن المستخدم لا يمكنه الوصول إلى Mac App Store لأي سبب كان ، ولكن يحتاج إلى تنزيل تطبيق مثبت OS X وبالتالي يعتمد على مصدر خارجي. مثل هذا الموقف هو عندما يكون من المهم معرفة والتحقق من أن المثبت لم يتم العبث به وهو قادم من Apple ، وبصرف النظر عن التحقق من sha1 hash مباشرة ، فإن أسهل طريقة للقيام بذلك هي التحقق من توقيع الكود والتشفير تجزئة التطبيق في السؤال.

للبدء ، قم بتشغيل Terminal ، الموجود في / Applications / Utilities /. سنستخدم الأمر "codesign" المسمى بشكل مناسب ، مع استكمال الإشارات -dv و –verbose = 4 لإظهار معلومات التعريف حول أي تطبيق ، بما في ذلك نوع التجزئة ، ومجموع التجزئة ، وسلطة التوقيع.

بناء الجملة الأساسي هو كما يلي:

code sign -dv --verbose=4 /Path/To/Application.app

على سبيل المثال ، دعونا نتحقق من التوقيع على Terminal.app ، الموجود في / Applications / Utilities /

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app
Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
Identifier=com.apple.Terminal
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 location=embedded
Platform identifier=1
Hash type=sha1 size=20
CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23
Signature size=4105
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Info.plist entries=34
TeamIdentifier=not set
Sealed Resources version=2 rules=13 files=996
Internal requirements count=1 size=68

ما تبحث عنه هو إدخالات نوع التجزئة والتجزئة والسلطة. في هذه الحالة ، يكون نوع التجزئة هو sha1 والسلطة الموقعة هي Apple ، وهو ما تتوقعه.

نعم ، يمكنك أيضًا استخدام سطر الأوامر للتحقق فقط من تجزئة sha1 أو md5 لتركيبات التطبيقات وتنزيلها ومقارنتها بمصدر شرعي ، لكن ذلك لن يكشف عن توقيع الكود وتفاصيل الشهادة.

ضع في اعتبارك أن معظم البرامج الموقعة على الكود والتي تم تعديلها بواسطة طرف غير مصرح به سيتم رفضها بواسطة Gatekeeper في OS X ، ما لم يتم تعطيل Gatekeeper أو التحايل عليه بطريقة أخرى ، ولكن حتى مع وجود Gatekeeper من الممكن نظريًا أن يجد goon مغامر نظريًا حوله ، وبالطبع البرامج التي لم يتم اعتمادها من قبل مطور محدد يمكن دائمًا إطلاقها حول Gatekeeper على أي حال.

يمكنك حول توقيع الشفرة على ويكيبيديا وعلى دليل مطور Apple لتوقيع الرمز هنا.

Top