7

Я пишу SW, который использует библиотеку opessl для проверки подписей DSA. У меня есть открытые ключи от отправителей в формате gpg. Как я могу преобразовать их в .pem, чтобы openssl мог их прочитать?

Я нашел это из другой темы:

gpgsm -o secret-key.p12 --export-secret-key-p12 0xXXXXXXXX 

Для экспорта мне нужны ключи в gpgsm keyring, не так ли? Я просто не могу понять, как импортировать мои ключи в набор ключей, который использует gpgsm. Я в конечном итоге с ошибками:

gpgsm --import public.asc
gpgsm: total number processed: 0
gpgsm: error importing certificate: End of file

Может ли gpgsm каким-то образом использовать связку ключей gpg:s и выполнить экспорт оттуда?

1 ответ1

0

Ваша команда экспорта верна, но, как вы полагаете, набор ключей gpgsm пуст. Вы можете проверить это с помощью:

gpgsm --list-keys

На выходе ничего не будет.

На ваш последний вопрос: Нет. gpg и gpgsm используют разные базы данных. Более подробная информация здесь. Вам необходимо создать или получить пару ключ / сертификат OpenSSL и импортировать ее (в формате PKCS # 12) в набор ключей gpgsm (обычно ~/.gnupg/pubring.kbx), поэтому команда импорта должна быть:

gpgsm --import mycert.p12

Вы можете экспортировать ключи из одной системы, преобразовать их и импортировать в другую, но так называемое преобразование просто предоставляет метаинфо (в большинстве случаев), и с этим метаинфо создается новый сертификат / ключ. Вы можете посмотреть здесь примеры конверсии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .