Как я могу экспортировать открытый ключ в формате 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
Вы можете экспортировать ключи из одной системы, преобразовать их и импортировать в другую, но так называемое преобразование просто предоставляет метаинфо (в большинстве случаев), и с этим метаинфо создается новый сертификат / ключ. Вы можете посмотреть здесь примеры конверсии.