我正在尝试使用GPGME从密钥服务器导入密钥。我确定密钥存在,因为当我使用浏览器访问服务器时,我可以看到它。我按照手册制作了这个:
gpgme_key_t key;
gpgme_keylist_mode_t mode = gpgme_get_keylist_mode(ctx);
mode &= ~GPGME_KEYLIST_MODE_LOCAL;
mode |= GPGME_KEYLIST_MODE_EXTERN;
err = gpgme_set_keylist_mode(ctx, mode);
err = gpgme_get_key(ctx, id, &key, 0);
密钥环目录在开头配置:
gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP, NULL, KeyringDir);
该目录包含一个gpg.conf文件,其中包含指定服务器URL的“keyserver”条目。全局gpg.conf也具有相同的指令,具有相同的URL。
问题是导入失败并显示错误“文件结束”,表示“未找到”。我传递的id有8个以0x开头的字符,因为我听说可能存在不同格式的问题。 浏览这个网站我发现了这个相关的问题search for a public key on a keyserver with GPGME但是我不确定这些功能应该如何使用,并且它们没有出现在手册中。
感谢您的帮助。