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

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

GnuPG: “decryption failed: secret key not available” error from gpg on Windows

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

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

1
2
3
4
5
6
7
8
9
10
11
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在哪里可以找到我的密钥?

谢谢,

苏雷什


您不仅需要导入您的秘密密钥,而且还需要导入相应的公共密钥,否则您将得到此错误。


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

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

否则,它将仅导入公共密钥,而不导入私有密钥。


显然,workmad3已经过时了,至少对于当前的gpg来说已经过时了,因为--allow-secret-key-import现在已经过时了,什么也不做。

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

1
gpg --export-secret-keys >keyfile

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

您是否在某个地方备份了密钥?

无论您是否使用相同的密码短语,重新创建密钥都将无法进行。每个密钥对都是唯一的。


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

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


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


推荐阅读

    linux命令替换失败?

    linux命令替换失败?,系统,基础知识,工具,代码,数据,情况,数字,命令,文件,内

    linux命令错误的是?

    linux命令错误的是?,系统,信息,异常,密码,工具,地址,网络,实时,状态,数据,Lin

    linux显示错误命令?

    linux显示错误命令?,信息,系统,电脑,状态,时间,环境,命令,搜狐,密码,异常,虚

    linux退出错误命令的?

    linux退出错误命令的?,系统,电脑,环境,命令,位置,管理,工具,设备,终端,进程,L

    linux没有该命令错误?

    linux没有该命令错误?,系统,第一,环境,命令,分析,软件,异常,文件,目录,空格,

    linux命令错误代码?

    linux命令错误代码?,系统,密码,电脑,网络,手机,网址,软件,代码,设备,老板,Lin

    linux命令详细解密?

    linux命令详细解密?,系统,地址,工作,命令,基础,信息,状态,数字,口令,目录,Lin

    linux程序命令不可用?

    linux程序命令不可用?,系统,网络,地址,命令,情况,名称,信息,服务,密码,程序,l

    linux免密钥登录命令?

    linux免密钥登录命令?,密码,数据,流程,服务,标准,网络,网上,认证,证书,代码,L

    linux的命令不可用?

    linux的命令不可用?,系统,工具,基础,在线,异常,命令,用户,路径,文件,变量,lin

    linux命令忽略错误?

    linux命令忽略错误?,系统,地址,工作,信息,设备,命令,设计,灵活,观察,标准,lin

    linux密钥设置命令?

    linux密钥设置命令?,密码,服务,数据,认证,环境,官网,系统,概念,通信,管理,如

    linux里ln命令失败?

    linux里ln命令失败?,系统,文件,数字,设备,数据,密码,代码,统一,命令,目录,.ln

    linux生产密钥对命令?

    linux生产密钥对命令?,服务,密码,工具,认证,环境,位置,生产,密钥,下来,系统,

    linuxmv命令失败?

    linuxmv命令失败?,系统,命令,文件,连续,信息,代码,工具,目录,参数,文件夹,lin

    Python导入错误分析

    Python导入错误分析,代码,情况,分析,名字,标准,位置,培训,模块,路径,错误,当

    如何查找python中的错误

    如何查找python中的错误,代码,地方,信息,底部,位置,分析,观察,测试,工作,网

    python的错误和异常

    python的错误和异常,异常,代码,地方,标准,官网,状态,第三,第一,时间,培训,py