कैसे एक gpg उपकुंजी के लिए एक अलग पास वाक्यांश है?


16

मुझे एक परिनियोजन प्रक्रिया को स्वचालित करने की आवश्यकता है और उपकरण स्वचालित रूप से रिलीज़ कलाकृतियों पर हस्ताक्षर करेगा। मेरी चाबी की अंगूठी में एक प्राथमिक कुंजी है जिसका उपयोग मैं केवल उपकुंजियों, और दो उपकुंजियों को बनाने के लिए करता हूं। एक उप हस्ताक्षर के लिए और एक एन्क्रिप्शन के लिए।

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

तो मैंने सोचा कि मैं उपकुंजी के लिए एक अलग पास वाक्यांश सेट करूँगा:

$ gpg --edit-key [subkey-id]
gpg> passwd
gpg> save

लेकिन इसने अन्य कुंजी के लिए पास वाक्यांश को भी बदल दिया।

मैं व्यक्तिगत कुंजी के लिए एक अलग पास वाक्यांश कैसे सेट कर सकता हूं?

जवाबों:


14

उपकुंजियों के लिए अलग-अलग पासफ्रेज की स्थापना GnuPG के साथ संभव नहीं है। लेकिन एक वर्कअराउंड है, जो इस मामले में अच्छे अभ्यास विचार की तरह दिखता है:

  1. पसंद की उपकुंजी निर्यात करें (उदाहरण में, उपकुंजी में आईडी है 0xDEADBEEF)। विस्मयादिबोधक चिह्न को मत भूलना, यह सुनिश्चित करता है कि GnuPG वास्तव में उपकुंजी के साथ ही काम करती है, न कि उस प्राथमिक कुंजी के साथ जो इसके अंतर्गत आती है!

    gpg --export-secret-subkeys 0xDEADBEEF! >subkeys.pgp
    

    उपकुंजी में सार्वजनिक प्राथमिक कुंजी और एक निजी प्राथमिक "की-स्टब" संलग्न होगा, लेकिन निजी प्राथमिक कुंजी नहीं।

  2. उपकुंजी को किसी अन्य GnuPG होम निर्देशिका में आयात करें। उदाहरण की उम्मीद है कि आप अपनी परियोजना के रूट डायरेक्टरी में हैं और इसमें etcइस कीरिंग जैसे सामान के लिए एक फ़ोल्डर है ।

    gpg --homedir ./etc/gnupg --import subkeys.pgp
    
  3. अलग उपकुंजी के पासफ़्रेज़ को बदलें।

    gpg --homedir ./etc/gnupg --edit-key 0xDEADBEEF
    
  4. अपने "सामान्य" कीरिंग का उपयोग करने के बजाय, हमेशा ऊपर बताए अनुसार अलग GnuPG निर्देशिका का संदर्भ लें।

एक विकल्प के रूप में, आप एक प्रोजेक्ट कुंजी बनाने पर विचार कर सकते हैं जिसे आप अपनी स्वयं की कुंजी के साथ हस्ताक्षर करते हैं। इसका यह फायदा हो सकता है कि अन्य योगदानकर्ता / उपयोगकर्ता कुंजी पर हस्ताक्षर कर सकते हैं (और इस तरह प्रमाणित करते हैं कि यह वास्तव में परियोजना के लिए उपयोग की जाने वाली कुंजी है), और परियोजना को सौंपना आसान हो सकता है अगर कोई और रखरखाव करेगा।


1
यह GnuPG 2.2.4 के साथ काम नहीं करता है। यह कहने में विफल रहता है "ऐसा करने के लिए गुप्त कुंजी की आवश्यकता है।" बहुत दुःखद: '(
स्टेनिबोट

तो मैं स्वत: रेपो हस्ताक्षर के लिए पासवर्ड रहित gpg कुंजियों का उपयोग करने की आवश्यकता है?
SuperSandro2000

नहीं, आप पासफ़्रेज़ का उपयोग करके प्री-कैश भी कर सकते हैं gpg-agent। पर एक नजर है gpg-preset-passphrase
जेन्स एराट

5

एक बहुत पुरानी तारीख (2013) gnupg.org मेल संग्रह एक उपकुंजी के लिए एक अलग पासवर्ड बनाने के लिए एक अजीब वर्कअराउंड की व्याख्या करता है
इसका मतलब है कि बाधा कुंजी-सेट (यानी मास्टर उपकुंजी समूह) के डेटा-संरचना के भीतर नहीं है, लेकिन केवल कीसेट के निर्माण और संशोधन के लिए सॉफ़्टवेयर इंटरफ़ेस में है।

संदर्भ से एक उद्धरण:

नमस्ते,

क्या मास्टर कुंजी की तुलना में एक अलग (जैसे छोटा) पासफ़्रेज़ वाले उपकुंजियों के साथ मास्टर कुंजी और कई उपकुंजी होना संभव है?

आप जो खोज रहे हैं वह एक ऑफ़लाइन मेनकी है (देखें --export-secret- उपकुंजियां)। लेकिन जवाब है: हाँ। gpg- एजेंट कुंजियों के कनेक्शन की परवाह नहीं करता है। यह आपको एक ही पासफ़्रेज़ के लिए भी कई बार पूछता है (एक ही कुंजी के विभिन्न घटकों के लिए)।

लेकिन GnuPG इसका सीधे समर्थन नहीं करती है।

1) गुप्त कुंजी (--export-secret-keys without -armor) निर्यात करें

2) पासफ़्रेज़ बदलें

3) फिर से निर्यात करें (एक अलग फ़ाइल में, निश्चित रूप से)

4) दोनों फाइलों पर (विभिन्न निर्देशिकाओं में) gpgsplit का उपयोग करें। परिणाम इस तरह दिखता है:

000001-005.secret_key 000002-013.user_id 000003-002.sig 000004-007.secret_subkey 000005-002.sig

5) अब आप दो समूहों के घटकों को मिलाते हैं: mkdir संयुक्त mv a / 000001 * a / 000002 * a / 000003 * संयुक्त / mv b / 000004 * b / 000005 * संयुक्त / cc संयुक्त / बिल्ली *> different_passphrases.gpg

6) सेक से कुंजी को हटाएं: --delete-secret-key

7) नया आयात करें: gpg - different_passphrases.gpg

हाक लागिंग

मैंने इस ऑपरेशन की व्यक्तिगत रूप से पुष्टि नहीं की है - मैंने जो भी पढ़ा है उसकी रिपोर्टिंग कर रहा हूं।

इस महत्वपूर्ण विषय से संबंधित GnuPG प्रलेखन में विनिर्देश और चर्चा की कमी निराशाजनक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.