
奇怪的問題:我的一位朋友向我發送了他的 OpenPGP 公鑰。
我嘗試了以下方法:
方法一
- 將他的 OpenPGP 金鑰區塊貼到 .txt 檔案中
- 啟動 Seahorse 並點擊“檔案”>“導入”
- 選擇.txt 檔案
- 點選導入
- 沒有任何反應,沒有錯誤訊息,沒有回饋,並且無法在海馬中的 PGP 金鑰下看到金鑰
方法2
在終端機中我執行以下命令:
sudo gpg --import key.txt
沒有錯誤訊息。但我仍然在任何地方都看不到鑰匙。
當我嘗試在 Thunderbird 中使用 Enigmail 解密朋友發送給我的測試電子郵件時,我被告知找不到相應的金鑰。
我正在使用 Ubuntu 14.04 LTS。
任何提示將不勝感激。
更新:
:public key packet:
version 4, algo 1, created 1341176567, expires 0
pkey[0]: [2048 bits]
pkey[1]: [17 bits]
keyid: 92729696A35FA089
:user ID packet: "John Do <[email protected]>"
:signature packet: algo 1, keyid 93729646B35FA089
version 4, created 1341176567, md5len 0, sigclass 0x13
digest algo 2, begin of digest 49 e6
hashed subpkt 2 len 4 (sig created 2012-07-01)
hashed subpkt 27 len 1 (key flags: 03)
hashed subpkt 11 len 5 (pref-sym-algos: 9 8 7 3 2)
hashed subpkt 21 len 5 (pref-hash-algos: 8 2 9 10 11)
hashed subpkt 22 len 3 (pref-zip-algos: 2 3 1)
hashed subpkt 30 len 1 (features: 01)
hashed subpkt 23 len 1 (key server preferences: 80)
subpkt 16 len 8 (issuer key ID 93729646B35FA089)
data: [2047 bits]
:public sub key packet:
version 4, algo 1, created 1341176567, expires 0
pkey[0]: [2048 bits]
pkey[1]: [17 bits]
keyid: 91C2606F92AC4FBA
:signature packet: algo 1, keyid 93729646B35FA089
version 4, created 1341176567, md5len 0, sigclass 0x18
digest algo 2, begin of digest 36 aa
hashed subpkt 2 len 4 (sig created 2012-07-01)
hashed subpkt 27 len 1 (key flags: 0C)
subpkt 16 len 8 (issuer key ID 93729646B35FA089)
data: [2047 bits]
答案1
導入金鑰
您要匯入的金鑰是普通的 OpenPGP 公用金鑰,沒有什麼特別的,所以應該不會有任何問題。
我猜您遇到了兩個不同的問題。
使用 Seahorse GUI
對於導入密鑰,您所做的一切都是正確的。但預設情況下,Seahorse 僅顯示您自己的金鑰(即您擁有私鑰的金鑰)。點擊“查看”和“顯示任意”以查看公鑰。
使用命令列
sudo gpg --import <file
將導入 root 的 GnuPG 金鑰環,這可能不是您想要實現的。透過省略匯入到使用者的密鑰環sudo
:gpg --import key.txt
之後,應該可以看到正在運行
gpg --列表鍵
無論如何,您很可能已經成功導入了它。
私鑰和公鑰
您遇到的另一個問題似乎是對公鑰/私鑰密碼學的理解。使用上面列出的金鑰,您將不是能夠解密郵件,您需要私人的解密訊息的密鑰。公鑰只能用於加密向其他人發送訊息(並驗證其他人的簽名),但不解密使用該公鑰加密的訊息。
如果您想使用 OpenPGP(或一般的公鑰/私鑰加密技術,例如使用 S/MIME)與朋友交換訊息,那麼您每個人都應該產生自己的金鑰對。現在交換公鑰。如果您想向您的朋友發送訊息,請使用他的公鑰加密該訊息,現在他將能夠使用他的私鑰解密該訊息。反之亦然。
答案2
您必須使用 sudo 在終端機中嘗試:
wget -o- (path and key.txt | sudo apt-add key (gpg)
這樣可能會工作得很好。