मैं documentation को गो के openpgp
पैकेज के लिए देख रहा हूं, और मुझे लगता है कि मुझे कुछ स्पष्ट बिंदु याद आना चाहिए। उदाहरण के लिए, ReadKeyRing
फ़ंक्शन है, लेकिन WriteKeyRing
नहीं है। मैं, दूसरी ओर, Serialize
एक Entity
कर सकता हूं, लेकिन मेरे पास इसे वापस पढ़ने का कोई तरीका नहीं है। यहाँ क्या चल रहा है? क्या कोई वास्तव में इस पैकेज का उपयोग करता है?मैं गो के openpgp पैकेज का उपयोग कैसे करूं?
उत्तर
एक इकाई सार्वजनिक + निजी जीपीजी कुंजी जानकारी का प्रतिनिधित्व करती है। ReadKeyRing
फ़ंक्शन आपको GPG कुंजी की एक सूची पढ़ने की अनुमति देता है।
Entity.Serialize function documentation कहता है:
को क्रमानुसार डब्ल्यू करने के लिए दिया इकाई की सार्वजनिक भाग लिखता है। (कोई निजी कुंजी सामग्री आउटपुट नहीं होगा)।
चूंकि यह इकाई का केवल सार्वजनिक हिस्सा है, इसलिए आप धारावाहिक डेटा के साथ सार्वजनिक कुंजी के रूप में एक नई इकाई बना सकते हैं।
ए WriteKeyRing
वास्तव में मौजूद नहीं है। यह संस्थाओं की सूची के माध्यम से जाएगा और सार्वजनिक कुंजी को सरणी में निकालेगा।
आपने जो कुछ भी कहा है वह दस्तावेज में है, लेकिन मुझे अभी भी समझ में नहीं आता कि पैकेज का उपयोग कैसे करें। उदाहरण के लिए, कहें कि मैं एक प्रोग्राम चाहता हूं, जो एक ध्वज पारित करने पर, एक कीपैयर बनाएगा और इसे फ़ाइल में लिख देगा; जब एक अलग ध्वज पारित किया गया तो उसे उस कुंजीपटल को पढ़ना चाहिए और कुछ हस्ताक्षर करने के लिए इसका इस्तेमाल करना चाहिए। मैं केवल 'ReadKeyRing' और 'Serialize (निजी)' के साथ ऐसा कैसे कर सकता हूं? –
आप गोस जीपीजी पैकेज के साथ कीपैयर नहीं बना सकते हैं। आप केवल पहले से मौजूद कुंजी का उपयोग कर सकते हैं। – Kissaki
क्या आप निश्चित हैं? Http://golang.org/pkg/crypto/openpgp/#Entity.NewEntity के बारे में क्या? –
मैं भी इस के साथ काफी एक बहुत struggeling था - अंत में मैं सिर्फ उदाहरण के द्वारा यह पता चला:
- एन्क्रिप्शन और डिक्रिप्शन उदाहरण: https://gist.github.com/jyap808/8250124
- डिक्रिप्शन उदाहरण: https://gist.github.com/jyap808/8250067
इसके पीछे सोचने के लिए उपयोगकर्ता के लिए नहीं बनाया गया है, लेकिन लगता है कि वास्तविक तरीके से पीजीपी तकनीकी रूप से कार्यान्वित किया गया है।
मैं पैकेज के माध्यम से नहीं बल्कि केवल एक पीजीपी कमांड लाइन उपकरण के साथ चाबियाँ उत्पन्न करने का सुझाव दूंगा।
कैमिलिस्टोर (camlistore.org) उस पैकेज के लिए प्राथमिक उपयोगकर्ता (और प्रेरणा) है। –