Импорт ключа с сервера с помощью gpgme
Я пытаюсь импортировать ключ с сервера ключей с помощью 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-адрес сервера. Глобальный gpg.conf имеет ту же директиву с тем же URL-адресом.
Проблема заключается в том, что импорт завершается с ошибкой "Конец файла", что означает "не найден". Идентификатор, который я передаю, содержит 8 символов, начиная с 0x, так как я слышал, что могут быть проблемы с различными форматами. Просматривая этот сайт, я нашел этот связанный вопрос поиска открытого ключа на сервере ключей с GPGME, однако я не уверен, как эти функции должны использоваться, и они не указаны в руководстве.
Спасибо за помощь.