के बिना नए कीचेन से किसी ऐप पर कोड हस्ताक्षर करने के लिए प्राधिकरण कैसे जोड़ूं, मैं किसी विशेष प्रमाणपत्र के साथ आईफोन ऐप्स बनाने की प्रक्रिया को स्वचालित करने की कोशिश कर रहा हूं। तो कल्पना करें कि अलग-अलग उपयोगकर्ताओं ने सिस्टम में अपना प्रमाणपत्र अपलोड किया है और यह तुरंत कोड साइन के लिए उपलब्ध था। मैं बिना किसी बातचीत के ऐसा करना चाहता हूं। मैं अलग-अलग उपयोगकर्ता प्रमाणपत्रों के साथ सिस्टम या लॉगऑन कीचेन को अव्यवस्थित नहीं करना चाहता हूं। इस अंत में मेरे पास है:मैं किसी भी मानव इंटरैक्शन
- ने एक्ससीडीईई में एक निर्माण के लिए कोड हस्ताक्षर की आवश्यकता के लिए आवश्यकता को बंद कर दिया।
- xcodebuild कमांड लाइन टूल
- के माध्यम से एक आवेदन पत्र बनाने के लिए एक गहरे लाल रंग का स्क्रिप्ट विकसित स्वचालित रूप से अपने सिस्टम
- का एक उपयोगकर्ता एक स्क्रिप्ट लिखी एक निर्मित iphone अनुप्रयोग पर हस्ताक्षर कोड करने के लिए एक नया कीचेन बनाने के लिए स्क्रिप्ट बनाने के।
सब कुछ काम करता है, लेकिन जब कोडिन प्रोग्राम साइन अनुमति का उपयोग करने का प्रयास करता है तो मुझे मैन्युअल रूप से एंटर दबाए जाने की आवश्यकता होती है। मेरे कीचेन सभी अनलॉक हैं। अजीब रूप से यह काम करता है अगर मैं कीचेन को डिफ़ॉल्ट कीचेन बना देता हूं, लेकिन यह स्केलेबल नहीं है यानी मुझे किसी भी समय एक निर्माण प्रक्रिया हो सकती है।
जब मैं मैन्युअल रूप से हमेशा कि इस प्रक्रिया के लिए अनुमति देने पर क्लिक करें, मैं अपने कीचेन डंप में एक प्रविष्टि है कि इस तरह दिखता है मिलती है:
entry 1:
authorizations (6): decrypt derive export_clear export_wrapped mac sign
don't-require-password
description: privateKey
applications (2):
0: /usr/bin/codesign (OK)
तो मैं सोच रहा हूँ कि मैं करने के लिए सुरक्षा में अधिकृत आदेश का उपयोग करने की आवश्यकता है उन अनुमतियों के लिए pre-autorize codeign। सुरक्षा आदमी पृष्ठ बहुत खराब है। मुझे ऐसा आदेशों का उपयोग करके काम करने के लिए प्रतीत नहीं होता है:
सुरक्षा -v अधिकृत -उवे चिह्न |/usr/bin/codeign [ऐप को इंगित करने वाले कोड साइन वर्र्स और एक विशिष्ट कीचेन]
क्या किसी के पास कोई विचार है?
सुरक्षा अनलॉक -पी –
मैं सभी के साथ कीचेन अनलॉक कर रहा हूं। मैंने जो खोजा है वह यह है कि यदि मैं पहले एक्सकोड में जाता हूं और एक ही निर्माण करता हूं, तो उसके बाद सभी चीजें अन्य कुंजीपटलों पर भी ठीक काम करने लगती हैं। तो अब मैं: 1. एक नया कीचेन बनाएं (मेरे पास एकाधिक उपयोगकर्ता हैं इसलिए एक कीचेन में सबकुछ प्रबंधित करना बहुत मुश्किल है) 2. इसे डिफ़ॉल्ट कीचेन के रूप में सेट करें 3. इसे अनलॉक करें। 4. कोड हस्ताक्षर के साथ एक्सकोड बिल्ड के माध्यम से और एक xcconfig फ़ाइल के माध्यम से सेट सेट के माध्यम से बनाएँ। यह एक अच्छा समाधान नहीं है बी/सी यह नए सर्वर स्थापित करने के लिए एक दर्द है। मैं निष्पादन के साथ-साथ निजीकरण का पता लगाऊंगा, लेकिन मुझे सुरक्षा कमांड प्रलेखन भयानक लगता है। – cmos