4

我正在尝试使用 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);

开始配置keyring目录:

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但是我不确定应该如何使用这些功能,并且它们没有出现在手册中。

谢谢您的帮助。

4

0 回答 0