我收到一个错误:
gpg: no default secret key: No secret key
gpg: [stdin]: clearsign failed: No secret key
Run Code Online (Sandbox Code Playgroud)
我的密钥可供GPG使用.
Jia*_*hen 18
这个令人困惑的错误消息浪费了我几天的时间。我将我的 Maven 项目部署到 Maven Central,它一直在工作,但突然它给出了此消息而不提示密码。搜索了所有答案并没有解决我的问题。最终,我发现我的密钥已过期。
gpg --list-keys
所以我需要使用来更改过期时间
gpg --edit-key
并确保更新两个密钥。
gpg1 和 gpg2 之间可能存在差异。密钥以不同的方式存储。你可能两者都有。
尝试
which gpg gpg2
Run Code Online (Sandbox Code Playgroud)
如果两者都有,请运行:
gpg2 --list-secret
gpg --list-secret
Run Code Online (Sandbox Code Playgroud)
您也许可以看出一个有效,另一个无效。
答案是:我正在使用最新的 gnupg 版本,但我必须使用 0.44 gnupg 界面版本。我已经重新安装了gnupg。
然后没有发现编译错误。我能够签署我的消息。但无法发送请求。问题是我还没有安装“Useragent”用来发送请求的 LWP::Protocol::Https 模块。(我知道我还没有通过保留简单的打印语句来安装该模块,该语句显示了问题未找到 LWP::Protocol::Https)。所以我通过 cpan 安装了 LWP::Protocol::Https 模块。我很高兴可以走了。终于一切都准备好了:-)