Как я могу экспортировать открытые ключи в формате 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