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);
そのディレクトリには、サーバーの URL を指定する「keyserver」エントリを含む gpg.conf ファイルが含まれています。グローバル gpg.conf にも、同じ URL を持つ同じディレクティブがあります。
問題は、「見つからない」ことを意味する「ファイルの終わり」というエラーでインポートが失敗することです。私が渡す ID は 0x で始まる 8 文字です。これは、さまざまな形式で問題が発生する可能性があると聞いたためです。このサイトを閲覧すると、GPGME を使用してキーサーバーで公開鍵を検索する関連の質問が見つかりましたが、これらの機能がどのように使用されることになっているのかわかりません。また、マニュアルにも記載されていません。
助けてくれてありがとう。