2016-04-29 8 views
6

ओएस एक्स 10.11 का उपयोग कर एक शैल स्क्रिप्ट लपेटने वाले .app को साइन करना 10.10 या उससे नीचे की पुष्टि करने में विफल रहता है। मैं 10.10 और 10.9 पर हस्ताक्षर कर सकता हूं और यह 10.9, 10.10 और 10.11 पर सत्यापित करता है।ओएस एक्स 10.11 में टूटी शेल स्क्रिप्ट रैपिंग अनुप्रयोगों पर हस्ताक्षर कर रहा है?

मैंने इसे दिखाने के लिए github पर दो उदाहरण ऐप्स और एक स्क्रिप्ट डाली है। दो HelloWorld.app की सामग्री केवल बाइनरी में सामग्री/मैकोज़/हैलोवर्ल्ड में भिन्न होती है। एक शेल स्क्रिप्ट है, दूसरा संकलित उद्देश्य सी है। दोनों संस्करणों के लिए

साइन इन करना काम करता है और 10.11 पर पुष्टि करता है:

शैल स्क्रिप्ट संस्करण:

codesign -s "${signing_identity}" -v shell-script/HelloWorld.app 
signed bundle with generic [liamsharp.helloworld] 

codesign -vv shell-script/HelloWorld.app 
shell-script/HelloWorld.app: valid on disk 
shell-script/HelloWorld.app: satisfies its Designated Requirement 

ऑब्जेक्टिव-सी संस्करण:

codesign -s "${signing_identity}" -v objective-c/HelloWorld.app 
signed bundle with Mach-O thin (x86_64) [liamsharp.helloworld] 

codesign -vv objective-c/HelloWorld.app 
objective-c/HelloWorld.app: valid on disk 
objective-c/HelloWorld.app: satisfies its Designated Requirement 

लेकिन खोल स्क्रिप्ट संस्करण पर सत्यापित करने में विफल 10.10 और 10.9:

codesign -vv shell-script/HelloWorld.app 
shell-script/HelloWorld.app: invalid signature (code or signature have been modified) 

मुझे दूसरी 10.11 मशीन तक पहुंच मिली है और यह एक ही समस्या तब होती है जब यह .app की ओर संकेत करता है। मुझे 10.9 मशीन तक पहुंच मिली है, और यह भी सत्यापित करने में विफल रहता है।

शैल स्क्रिप्ट .app के लिए उत्पादित _CodeSignature निर्देशिका में कोई अंतर है।

यहाँ है कि यह कैसे जब 10.10 पर हस्ताक्षर किए गए:

CodeDirectory 
CodeRequirements 
CodeResources 
CodeSignature 

लेकिन जब 10.11 पर हस्ताक्षर किए हम कुछ अतिरिक्त फ़ाइलें प्राप्त:

CodeDirectory 
CodeRequirements 
CodeRequirements-1 
CodeResources 
CodeSignature 
CodeTopDirectory 

वहाँ एक जादू विकल्प मैं करने के लिए codesign के लिए याद कर रहा हूँ है इसे काम करने की अनुमति दें? या कोई बग है?

+0

यह ओएस एक्स 10.11 पर 'कोडइन' के साथ एक बग प्रतीत होता है। बग ऑटोमेटर के 'डीफिनिशन' बंडलों को भी प्रभावित करता है। मैंने ऐप्पल के साथ आरडीआर: // 26297046 के रूप में बग दायर किया है। –

+1

मैंने 26363618 भी भर दिया है। – CodeBuddy

+0

धन्यवाद। मैं इस सवाल पूछने और परीक्षण मामले तैयार करने की सराहना करता हूं। यह ओएस एक्स बग का सामना करने वाले अन्य लोगों को ढूंढने के लिए आश्वस्त था। –

उत्तर

1

मैं भी एप्पल से एक प्रतिक्रिया अब, एक अलग संख्या ग्राहम हालांकि लिया है:

Engineering has determined that your bug report is a duplicate of another issue and will be closed. 

Duplicate of 25457707 (Open) 

एक अपडेट पोस्ट करेंगे यदि/जब मैं अधिक सुनते हैं। इटा के फिक्स के लिए कोई और विवरण प्रदान नहीं किया गया है, या यहां तक ​​कि अगर इसे ठीक किया जा रहा है।

अपडेट: यह अब 10.11.5 में तय किया गया है - मुझे ऐप्पल से कोई संकेत नहीं मिला, लेकिन अब अपग्रेड के बाद काम करता है।

संबंधित मुद्दे