Я хотел бы использовать GPGME для шифрования данных (без файлов) и сохранения данных в базе данных. Я узнал, что GPGME с OpenPGP в качестве протокола будет шифровать данные с помощью GPG и CAST5. CAST5, это то, что говорит мне моя командная строка, если я проверяю gpg2 с помощью:
LANG=C gpg2 --verbose --symmetric
gpg: using cipher CAST5
Я не знаю, почему он не использует новый AES-128. значение по умолчанию. Но я предполагаю, что у меня нет последней доступной версии (как и менеджера пакетов в моей системе Debian).
Я действительно хотел бы настроить GPG для использования AES для шифрования, установив соответствующие значения в файле gpg.conf, упомянутом здесь и на домашняя страница GPG. Итак, я попытался получить информацию о расположении файла, используя gpgme_get_engine_info
и глядя на home_dir
, но этот путь кажется пустым. file_name
это usr/bin/gpg2
. Но хорошо, что нет gpg.conf. Строго говоря, gpg.conf в моей системе вообще нет. Итак, что мне делать, если этот файл отсутствует? Или есть способ программно установить значение с помощью GPGME? я только нашел
gpgme_ctx_set_engine_info (gpgme_ctx_t ctx, gpgme_protocol_t proto, const char *file_name, const char *home_dir)
Таким образом, я мог бы создать новую конфигурацию и указать путь с помощью этой функции. Но это предполагает, что я знаю, как выглядит этот файл. К сожалению, я не знаю.