मूल रूप से इस संदर्भ में हस्ताक्षर करने का अर्थ है कि बाइनरी को बिना किसी क्रिप्टोग्राफ़िक प्रमाण के बिना हस्ताक्षरित किया गया है।
संक्षेप में, आमतौर पर बायनेरिज़ को एक तथाकथित सीएमएस (एक क्रिप्टोग्राफ़िक संदेश) जोड़कर हस्ताक्षरित किया जाता है, जहां कोडडायरेक्टरी का हैश वह संदेश होता है, जिस पर हस्ताक्षर करने वाले की पहचान होती है। इसका मतलब है कि एक बाहरी व्यक्ति यह सत्यापित कर सकता है कि कोड वास्तव में उस पहचान के लिए निजी कुंजी रखने वाले व्यक्ति द्वारा हस्ताक्षरित था।
प्रोग्राम चलाते समय, macOS सिस्टम यह सत्यापित कर सकता है कि ये हस्ताक्षर मान्य हैं, और यह हस्ताक्षर की पहचान पर भरोसा करता है - और यदि ऐसा होता है, तो प्रोग्राम को चलाएं। यह गेटकीपर की कार्यक्षमता की मूल बातें है।
तदर्थ हस्ताक्षरित बायनेरिज़ बहुत अलग हैं क्योंकि उनमें ऐसा कोई सीएमएस नहीं है। इसके बजाय यह केवल अपनी वैधता के किसी भी क्रिप्टोग्राफिक सबूत के बिना कोडडायरेक्ट्री के SHA-1 हैश मूल्य रखता है, और इसके खिलाफ सत्यापित करने के लिए प्रमाण पत्र / पहचान का कोई रास्ता नहीं है।
कोडडायरेक्टरी एक ऐसी वस्तु है जो कोड के विभिन्न टुकड़ों के लिए हैश मानों के द्वारा स्थिर कोड के एक विशेष उदाहरण का वर्णन करती है, जिससे एप्लिकेशन बनाया जाता है। यह सुनिश्चित करने के द्वारा कि कोडडायरेक्ट्री क्रिप्टोग्राफिक हस्ताक्षर की पुष्टि करके अपरिचित है, और यह कि एप्लिकेशन के विभिन्न कोड बिट्स निर्देशिका में संग्रहीत हैश मूल्यों से मेल खाते हैं, आप यह पता लगा सकते हैं कि कोड के साथ छेड़छाड़ नहीं की गई थी।
क्रिप्टोग्राफिक सबूत के बिना यह "अनमैपरेड" चेक सामान्य तरीके से नहीं किया जा सकता है।
इसके बजाय तदर्थ हस्ताक्षरित बायनेरिज़ को कर्नेल के अंदर स्थिर ट्रस्ट कैश में संग्रहीत "ज्ञात अच्छा" हैश मानों की सूची के खिलाफ SHA-1 हैश मान की तुलना करके चेक किया जाता है।
संक्षेप में इसका मतलब यह है कि आपके द्वारा किसी भी आवेदन पर दिए गए "महत्वपूर्ण प्रतिबंध" का संकेत यह है कि यह कहीं भी किसी भी प्रकार का सत्यापन नहीं करेगा। यह मूल रूप से एक गैर-हस्ताक्षरित बाइनरी के समान है।
हालाँकि, यदि आप Apple हैं, तो आप ऐसे एप्लिकेशन बना सकते हैं जो साधारण तरीके से कोड किए नहीं गए हैं, और इसके बजाय कर्नेल द्वारा स्पष्ट रूप से भरोसा किया जाता है। उदाहरण के लिए, यदि Apple यह सुनिश्चित करना चाहता है कि सिस्टम स्टार्टअप में एक प्रारंभिक चरण में चलाने पर कोई एप्लिकेशन अप्रयुक्त है, जहां पूर्ण हस्ताक्षर पहचान सत्यापन नहीं है और चल रहा है (या अनुपलब्ध है) तो वे तदर्थ हस्ताक्षर का उपयोग कर सकते हैं। इन आवेदनों को हमेशा स्थैतिक ट्रस्ट कैश द्वारा सत्यापित किया जा सकता है, भले ही आपका प्रमाण पत्र रिपॉजिटरी हो या कुछ भी हो।
व्यवहारिक रूप से एड-हॉक पर हस्ताक्षरित बायनेरिज़ केवल ऐप्पल डेवलपर्स के लिए व्यावहारिक मूल्य है।
आप एप्पल के डेवलपर सेक्शन में तदर्थ हस्ताक्षर पर मामूली दस्तावेज पा सकते हैं। उदाहरण के लिए:
https://developer.apple.com/documentation/security/seccodesignatureflags/kseccodesignatureadhoc
लेकिन आप स्वयं कोडसाइन यूटिलिटी के लिए स्रोत कोड में दस्तावेज़ों के स्निपेट भी पा सकते हैं और स्रोत कोड में libsecurity के लिए।