环境:采用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在哪里找到我的密钥?
谢谢,
苏雷什
您不仅需要导入密钥,还需要导入相应的公钥,否则您将收到此错误.
从旧密钥环重新导入密钥时,需要指定命令:
gpg --allow-secret-key-import --import
否则它只会导入公钥,而不是私钥.
是的,您的密钥似乎丢失了.没有它,您将无法解密文件.
你有钥匙备份吗?
无论是否使用相同的密码,重新创建密钥都不起作用.每个密钥对都是唯一的.
workmad3显然已经过时了,至少目前的gpg --allow-secret-key-import
已经过时了,因为现在已经过时了,什么都不做.
发生在我身上的是我未能正确出口.刚才这样做gpg --export
是不够的,因为它只导出公钥.导出密钥时,您必须这样做
gpg --export-secret-keys >keyfile
"秘密密钥不可用"消息的另一个原因:GPG版本不匹配.
实际例子:我一直在使用GPG v1.4.交换包装系统,MacPorts提供的gpg被删除,并在路径中显示另一个gpg二进制文件,这个版本2.0.对于解密,它无法找到密钥并给出了这个错误.对于加密,它抱怨一个无法使用的公钥.但是,gpg -k和-K都列出了有效密钥,这是导致严重混淆的原因.