2010-03-24 10 views
5

मुझे एक पीजीपी-एन्क्रिप्टेड फ़ाइल के साथ-साथ पासफ्रेज को डिक्रिप्ट करने के लिए एक सार्वजनिक कुंजी भेजी गई थी। मैं के साथ कुंजी आयातित:पीजीपी कमांड लाइन डिक्रिप्शन --- फाइल को डिक्रिप्ट कैसे करें?

gpg --import publickey.asc 

और

gpg --list-keys 

साथ यह अब सत्यापित, मैं फ़ाइल को डिक्रिप्ट करने की कोशिश कर रहा हूँ। मैं एक फ़ाइल बुलाया pass.txt में पदबंध रख दिया और आदेश पंक्ति पर इस भाग गया:

gpg -d encryptedfile.txt.pgp --output encryptedfile.txt 

लेकिन मैं मिलता है:

gpg: encrypted with ELG-E key, ID XXXXXXXXX 
gpg: encrypted with 2048-bit RSA key, ID XXXXXXXXX, created 2010-03-10 
     "XXXXXXXXX XXXXXXXXX (XXXXXXXXX FTP Key) <[email protected]>" 
gpg: decryption failed: secret key not available 

अगर मैं gpg --list-गुप्त कुंजी, ऐसा करने कोई वहां नहीं है ... मैं आयातित कुंजी के साथ पासफ्रेज को कैसे जोड़ूं?

उत्तर

10

डिक्रिप्ट करने के लिए, आपको आम तौर पर निजी कुंजी की कुंजी की आवश्यकता नहीं है, न कि सार्वजनिक कुंजी। सार्वजनिक कुंजी एन्क्रिप्शन के साथ, डेटा आम तौर पर सार्वजनिक कुंजी से एन्क्रिप्ट किया जाता है और निजी कुंजी के साथ डिक्रिप्ट किया जाता है।

इसके अलावा, आप आयातित कुंजी के साथ पासफ्रेज को "संबद्ध" नहीं करते हैं - gpg द्वारा संकेत दिए जाने पर आप आयातित कुंजी दर्ज करते हैं।

+0

ठीक है ... इससे पहले कभी भी इसका उपयोग नहीं किया गया ... स्पष्ट रूप से निजी कुंजी आयात करने का आदेश क्या है? – whitman6732

+0

जो मुझे भेजा गया था उसे वापस चला गया, और यह कहता है "यहां सार्वजनिक कुंजी है कि वे फ़ाइल को एन्क्रिप्ट करने के लिए उपयोग करेंगे" तो, ऐसा लगता है कि उन्होंने सार्वजनिक कुंजी का उपयोग किया और निजी नहीं ... – whitman6732

+0

@ whitman6732 हां , मेरा मानना ​​है कि आयात कमांड वही है। और आपको निजी कुंजी की आवश्यकता है। अभी तक बेहतर, आपको एक महत्वपूर्ण जोड़ी बनाने और उन्हें अपनी सार्वजनिक कुंजी देने की आवश्यकता है - यही तरीका है कि पीजीपी आमतौर पर काम करता है। –

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