27

环境:装有 Windows XP SP2 的 HP 笔记本电脑

我使用 GnuPG (gpg) for Windows 创建了一些加密文件。昨天,我的硬盘出现故障,所以我重新映像了硬盘。我现在重新安装了 gpg 并使用与之前相同的密码重新生成了我的密钥。但是,我现在无法解密这些文件。我收到以下错误:

C:\sureshr>gpg -ac:\sureshr\work\passwords.gpg
gpg:使用 1024 位 ELG-E 密钥加密,ID 279AB302,创建于 2008-07-21
      “苏雷什·拉马斯瓦米 (AAA) BBB”
gpg:解密失败:密钥不可用

C:\sureshr>gpg --list-keys
C:/Documents and Settings/sureshr/应用程序数据/gnupg\pubring.gpg
-------------------------------------------------- ------------------
酒馆 1024D/80059241 2008-07-21
uid Suresh Ramaswamy (AAA) BBB
潜艇 1024g/279AB302 2008-07-21

AAA = gpg 评论
BBB = 我的电子邮件地址

我确定我使用了正确的密码。这个错误到底是什么意思?我如何告诉 gpg 在哪里可以找到我的密钥?

谢谢,

苏雷什

4

6 回答 6

28

您不仅需要导入您的密钥,还需要导入相应的公钥,否则您会收到此错误。

于 2011-11-02T00:45:31.223 回答
23

从旧密钥环重新导入密钥时,您需要指定命令:

gpg --allow-secret-key-import --import <keyring>

否则它只会导入公钥,而不是私钥。

于 2008-09-18T10:21:38.107 回答
9

是的,您的密钥似乎丢失了。没有它,您将无法解密文件。

您是否在某处备份了密钥?

重新创建密钥,无论您是否使用相同的密码,都不起作用。每个密钥对都是唯一的。

于 2008-09-18T10:06:50.763 回答
9

workmad3显然已经过时了,至少对于当前的 gpg 而言,因为--allow-secret-key-import它现在已经过时并且什么都不做。

发生在我身上的是我未能正确导出。仅仅做gpg --export是不够的,因为它只导出公钥。导出密钥时,您必须这样做

gpg --export-secret-keys >keyfile
于 2009-09-27T02:46:45.020 回答
7

“密钥不可用”消息的另一个原因:GPG 版本不匹配。

实际示例:我一直在使用 GPG v1.4。切换打包系统,MacPorts 提供的 gpg 被删除,并在路径中显示另一个 gpg 二进制文件,这个版本 2.0。对于解密,它无法找到密钥并给出了这个错误。对于加密,它抱怨一个不可用的公钥。但是, gpg -k 和 -K 都列出了有效的密钥,这是造成严重混乱的原因。

于 2011-09-06T11:36:54.590 回答
2

对我来说,解决这个问题的方法是通知发件人他确实使用了我发送给他们的公钥,而不是其他人。您应该看到他们使用的密钥。告诉他们使用正确的。

于 2009-11-13T19:10:12.527 回答