GnuPG:Windows上的gpg“解密失败:密钥不可用”错误

时间:2008-09-18 10:04:05

标签: windows-xp gnu gnupg

环境:使用Windows XP SP2的惠普笔记本电脑

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


C:\sureshr>gpg -a c:\sureshr\work\passwords.gpg
gpg: encrypted with 1024-bit ELG-E key, ID 279AB302, created 2008-07-21
      "Suresh Ramaswamy (AAA) BBB"
gpg: decryption failed: secret key not available

C:\sureshr>gpg --list-keys
C:/Documents and Settings/sureshr/Application Data/gnupg\pubring.gpg
--------------------------------------------------------------------
pub   1024D/80059241 2008-07-21
uid                  Suresh Ramaswamy (AAA) BBB
sub   1024g/279AB302 2008-07-21

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

我确信我使用的是正确的密码。这个错误究竟是什么意思?我如何告诉gpg在哪里找到我的密钥?

谢谢,

苏雷什

6 个答案:

答案 0 :(得分:23)

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

答案 1 :(得分:22)

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

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

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

答案 2 :(得分:8)

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

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

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

答案 3 :(得分:7)

workmad3显然已经过时了,至少目前的gpg已经过时了,因为--allow-secret-key-import现在已经过时,什么都不做。

我发生的事情是我未能正确出口。仅仅执行gpg --export是不够的,因为它只导出公钥。导出密钥时,您必须执行

gpg --export-secret-keys >keyfile

答案 4 :(得分:6)

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

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

答案 5 :(得分:2)

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