2010-10-11 6 views
5

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

मैंने जीजीपी-एजेंट के बारे में पढ़ा है जो आपको वर्तमान लॉगिन सत्र के लिए पासफ्रेज में प्रवेश करने देगा, लेकिन फिर क्रॉन में लॉगिन सत्र नहीं है। मैं क्या चाहता हूं कि जीपीजी-एजेंट को बूट समय पर पासफ्रेज को स्वीकार करने के लिए कॉन्फ़िगर करने में सक्षम होना चाहिए और आवश्यकता होने पर क्रॉन सत्र में हाथ रखें। मुझे नहीं पता कि यह संभव है या नहीं, और जीजीपी-एजेंट के लिए दस्तावेज़ काफी कम हैं।

विकल्प जीपीजी के लिए पूछताछ करते समय पासफ्रेज दर्ज करने की अपेक्षा का उपयोग करना होगा, लेकिन स्पष्ट रूप से यह एक बड़ा सुरक्षा छेद है क्योंकि पासफ्रेज़ को बिल्ड स्क्रिप्ट में शामिल करने की आवश्यकता होगी।

उत्तर

5

आपको शुरुआत में जीपीजी-एजेंट शुरू करना चाहिए और GPG_AGENT_INFO पर्यावरण चर को सहेजना चाहिए। फिर आप इसे अपनी लिपि के पर्यावरण में स्थापित कर सकते हैं और उम्मीद के अनुसार काम करना चाहिए। इसके अतिरिक्त, सुनिश्चित करें कि GPG_AGENT_INFO में सॉकेट की अनुमतियां आपकी स्क्रिप्ट को इसे पढ़ने की अनुमति देती हैं।

+0

धन्यवाद, कि वास्तव में मैं क्या देख रहा हूँ है। लेकिन आप सॉकेट पर अनुमतियों को कैसे पूछते हैं या सेट करते हैं? –

+0

आपने सामान्य रूप से अनुमति सेट की है (GPG_AGENT_INFO में पथ पर दिखाया गया है)। फिर, यदि पर्यावरण चर सेट किया गया है, तो gpg को इसका उपयोग अपने पक्ष में और अधिक कार्रवाई के साथ नहीं करना चाहिए। ध्यान दें कि मैंने इस मामले की कोशिश नहीं की है, तो चलो देखते हैं कि यह काम करता है;) – smola

-1

आरपीएम उत्पन्न करने के लिए आप जो भी निर्माण उपकरण उपयोग करते हैं, उसमें साइन इन करने की क्षमता हो सकती है। उदाहरण के लिए, ग्रेडल में एक प्लगइन है जो आपके लिए हस्ताक्षर करता है। आपको आईडी, पासफ्रेज और कुंजी रिंग फ़ाइल के स्थान के साथ एक गुण फ़ाइल बनाना है, और यह बाकी करता है।

देखें: https://docs.gradle.org/current/userguide/signing_plugin.html

+1

जबकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (// meta.stackoverflow.com/q/8259) आवश्यक शामिल करने के लिए यहां उत्तर के कुछ हिस्सों, और संदर्भ के लिए लिंक प्रदान करते हैं। –

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

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