Как я могу экспортировать открытый ключ в формате PEM с помощью GnuPG?

Я пишу 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 keyring и делать экспорт оттуда?

1 ответ

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

gpgsm --list-keys

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

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

gpgsm --import mycert.p12

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

Другие вопросы по тегам