奇怪的问题:我的一个朋友向我发送了他的公共 OpenPGP 密钥。
我尝试了以下操作:
方法 1
- 将他的 OpenPGP 密钥块粘贴到 .txt 文件中
- 启动海马并点击文件>导入
- 选择 .txt 文件
- 点击导入
- 什么都没有发生,没有错误消息,没有反馈,也无法在 seahorse 中的 PGP Keys 下看到密钥
方法 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 --list-keys
无论如何,很可能您已经成功导入它了。
私钥和公钥
你遇到的另一个问题似乎是对公钥/私钥加密的理解。有了上面列出的密钥,你将不是能够解密邮件,你需要私人的密钥来解密消息。公钥只能用于加密向其他人发送消息(并验证其他人的签名),但不能解密使用该公钥加密的消息。
如果您想使用 OpenPGP(或一般的公钥/私钥加密,例如使用 S/MIME)与朋友交换消息,你们每个人都应该生成自己的密钥对。现在交换公钥。如果您想向朋友发送消息,请使用他的公钥加密消息,现在他将能够使用他的私钥解密消息。反之亦然。
答案2
您必须使用 sudo 在终端中尝试以下操作:
wget -o- (path and key.txt | sudo apt-add key (gpg)
这样也许能很好地发挥作用。