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

Я знаю это gpg --export -o pub.key -a "Username" экспортирует открытый ключ пользователя, но, похоже, он не записывает стандартный блок формата PEM.

Есть ли способ экспортировать ключи из gpg в формате PEM?

4 ответа

Тебе нужно gpgsm,

Чтобы клонировать ключи от gpg хранилище ключей для gpgsm хранилище ключей, проверьте этот комментарий. Копирование решения здесь

 $ gpg --list-secret-keys --with-keygrip
 $ gpgsm --gen-key -o temporary.cert
 > Existing Key
 > use keygrip from gpg output
 > fill the X509 values
 > create a self signed certificate
 $ gpgsm --import temporary.cert
 $ gpgsm --list-keys
 > find the key just imported
 $ gpgsm -o cert.p12 --export-secret-key-p12 ${KEY_ID}

Вам нужна утилита gpgsm, но, да, вы можете.

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

Содержит ключи и сертификаты. Затем вы можете разделить их с помощью openSSL и одновременно преобразовать их в.pem

openssl pkcs12 -in secret-key.p12 -nocerts -out gpg-key.pem
openssl pkcs12 -in secret-key.p12 -nokeys -out gpg-certs.pem

Поскольку GitLab нужен публичный ключ GPG в формате PEM, вы можете воспользоваться их руководством .

Чтобы экспортировать закрытый ключ в txt:

      gpg --armor --export-secret-keys 0x<key-ID>

или

      gpg --armor --export-secret-keys "email-address"

Используйте Key-ID или адрес электронной почты, который использовался для создания закрытого/секретного ключа.

Чтобы записать закрытый ключ на диск:

      gpg --armor --export-secret-keys "test@mail.com" > test.pem

Открытый ключ к txt/pem:

      gpg --export -a "test@mail.com"

Не забудьте вместо этого использовать свой адрес электронной почты/идентификатор ключа .

Использовать--export-ssh-keyвариант, а затем преобразовать его в PEM:

      ssh-keygen -f <(gpg --export-ssh-key <short_key_id>) -e -m pem
Другие вопросы по тегам