我收到错误:
gpg: no default secret key: No secret key
gpg: [stdin]: clearsign failed: No secret key
我的密钥可供GPG使用。
答案 0 :(得分:2)
这个令人困惑的错误信息浪费了我好几天的时间。我将我的 maven 项目部署到 maven central,它一直在工作,但突然它在没有提示密码的情况下给出了这个消息。搜索了所有答案并没有解决我的问题。最终,我发现我的密钥已过期。
gpg --list-keys
所以我需要使用
gpg --edit key
并确保更新两个密钥。
答案 1 :(得分:1)
gpg1和gpg2可能有区别。密钥以不同方式存储。你可能同时拥有它们。
尝试
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
OldWindowProc = RichEdit1->WindowProc;
RichEdit1->WindowProc = NewWindowProc;
DragAcceptFiles(RichEdit1->Handle, true);
}
void __fastcall TForm1::NewWindowProc(TMessage& Msg)
{
switch (Msg.Msg) {
case WM_DROPFILES:
{
HDROP DropH = (HDROP)Msg.WParam;
int droppedFileCount = DragQueryFile(DropH, 0xFFFFFFFF, NULL, 0);
TStringList* Buffer = new TStringList();
for (int i = 0; i < droppedFileCount; i++) {
int fileNameLength = DragQueryFile(DropH, i, NULL, 0);
String FileName;
FileName.SetLength(fileNameLength);
DragQueryFile(DropH, i, FileName.w_str(), fileNameLength + 1);
Buffer->LoadFromFile(FileName);
RichEdit1->Lines->AddStrings(Buffer);
RichEdit1->Lines->Add("");
}
delete Buffer;
DragFinish(DropH);
Msg.Result = 0;
break;
}
case CM_RECREATEWND:
DragAcceptFiles(RichEdit1->Handle, true);
break;
default:;
}
OldWindowProc(Msg);
}
如果你有两者,请运行:
which gpg gpg2
你可能会说一个有效,另一个没有。
答案 2 :(得分:0)
这里的答案是:我使用的是最新的gnupg版本,但我必须使用0.44 gnupg接口版本。我重新安装了gnupg。
然后没有找到编译错误。我能够签署我的信息。但无法发送请求。问题是我没有安装LWP :: Protocol :: Https模块,该模块由&#34; Useragent&#34;发送请求。(我开始知道我没有通过保持简单的打印语句来安装模块,这些语句显示了找不到LWP :: Protocol :: Https的问题)。所以我通过cpan安装了LWP :: Protocol :: Https模块。我很高兴。最后全部设定: - )