Super User Asked by Inaimathi on January 1, 2022
I know that gpg --export -o pub.key -a "Username"
exports a users’ public key, but it doesn’t seem to write a standard PEM format block.
Is there any way to export keys from gpg in PEM format?
Use the --export-ssh-key
option and then convert it to PEM:
ssh-keygen -f <(gpg --export-ssh-key <short_key_id>) -e -m pem
Answered by AiB on January 1, 2022
Since GitLab needs the Public GPG key in PEM format, you could follow their tutorial.
To export the private key to txt specifically:
gpg --armor --export-secret-keys 0x<key-ID>
or
gpg --armor --export-secret-keys "email-address"
Use the Key-ID or the email-address that was used to generate the private/secret key.
To write private key to disk:
gpg --armor --export-secret-keys "[email protected]" > test.pem
To public key to txt/pem:
gpg --export -a "[email protected]"
Remember to use your email/key-id instead.
Answered by lnksz on January 1, 2022
You need gpgsm
.
To clone the keys from the gpg
keystore to the gpgsm
keystore, check this comment. Copying the solution here
$ 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}
Answered by petko on January 1, 2022
You need the gpgsm utility, but, yes, you can.
gpgsm -o secret-key.p12 --export-secret-key-p12 0xXXXXXXXX
It contains keys and certificates. Then you can split them with openSSL and transform it in .pem at the same time
openssl pkcs12 -in secret-key.p12 -nocerts -out gpg-key.pem
openssl pkcs12 -in secret-key.p12 -nokeys -out gpg-certs.pem
Answered by Dolanor on January 1, 2022
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP