2016-02-27 12 views
5

OSX एल कैप्टन से बचने के लिए निष्पादन योग्य कोड-अप करने और जाओ 1.6OSX: फ़ायरवॉल चेतावनी संवाद

क्या मैं चाहता हूँ सरल की तुलना में यह शीर्षक से लगता है।

ओएसएक्स फ़ायरवॉल कनेक्शन स्वीकार करने से किसी अज्ञात एप्लिकेशन को अस्वीकार करता है। जब कोई ऐसा प्रोग्राम शुरू होता है, तो उपयोगकर्ता को एक संवाद के साथ प्रस्तुत किया जाता है कि कहा गया निष्पादन योग्य कनेक्शन प्राप्त करने की अनुमति दी जानी चाहिए या नहीं। तब उपयोगकर्ता की पसंद याद आती है।

उपर्युक्त काम ठीक है जब उदाहरण के लिए कोई नोड के साथ विकसित होता है जहां वास्तविक निष्पादन योग्य एक बाइनरी होता है और उपयोगकर्ता को इसे एक बार अनुमति/अस्वीकार करने की आवश्यकता होती है।

जब (और किसी अन्य संकलित भाषा) में विकसित होने पर विकसित निष्पादन योग्य हर बार अलग होता है। जिसका मतलब है कि जब भी मैं अपना सर्वर शुरू करता हूं तो मुझे संवाद मिलता है।

इस संवाद से बचने का एक तरीका है एक स्वयं हस्ताक्षरित प्रमाणपत्र के साथ निष्पादन योग्य पर हस्ताक्षर करना जो ओएसएक्स में उत्पन्न होता है। एक बार हमारे पास प्रमाणपत्र होने के बाद हम निष्पादन योग्य पर हस्ताक्षर करते हैं और इसे एक बार अनुमति देते हैं/इनकार करते हैं। निष्पादन योग्य बाइनरी में परिवर्तन होने पर भी कोड हस्ताक्षर हमेशा याद किए जाते हैं।

तो, मेरे सवाल का है:

वहाँ संकलित बाइनरी चलाने से पहले go पर हस्ताक्षर करने के आदेश चला बनाने के लिए एक तरीका है?

उत्तर

3

मुझे मूर्खतापूर्ण। मुझे प्रश्न लिखने के लिए 5 मिनट और उत्तर खोजने के लिए 2 मिनट लग गए और स्क्रिप्ट लिखने के लिए इसे हल किया। यदि कोई भी एक ही समस्या पर ठोकर खाता है तो मैं इसे यहां पोस्ट करूंगा।

binary=$GOPATH/pkg/kliron/hiss/hiss.a 
go build -o $binary hiss/main.go 
codesign -f -s klironCode $binary --deep 
$binary "[email protected]" 

बस go build का उपयोग करें।

6

भी आसान:, स्थानीय होस्ट पर स्पष्ट रूप से सर्वर प्रारंभ की तरह: साझा करने के लिए

suppressing-accept-incoming-network-connections-warnings-on-osx

+0

अच्छा, धन्यवाद:

http.ListenAndServe("localhost:8080", nil) 

मैं एक छोटा सा टुकड़ा इस पर हाल ही में लिखा था। हालांकि, ओएथ 2 प्रमाणीकरण योजनाओं का परीक्षण करने या अन्य ऑनलाइन सेवाओं के साथ बातचीत करने के लिए, आपको वास्तव में बाह्य इंटरफ़ेस को सुनने की आवश्यकता होती है। निश्चित रूप से, आप अपने मेजबाननाम को/etc/host में localhost पर इंगित कर सकते हैं और यह कुछ आवश्यक है (उदाहरण के लिए oauth) लेकिन सभी मामलों में नहीं। – kliron

+0

/etc/host ->/etc/hosts – kliron