我有一份PEM格式的X509证书链和私钥,需要将它们转换为GPG格式以便进行签名。请问如何操作?
我尝试使用gpgsm,但密钥仍未出现在gpg密钥列表中。
请给予指导。
我尝试使用gpgsm,但密钥仍未出现在gpg密钥列表中。
请给予指导。
以下内容翻译自我的文章
Break the pfx
(p12) into pem
files that can be used. For some reason, GPG can't handle standard encoding.
openssl pkcs12 -in sectigo.pfx -nokeys -out gpg-certs.pem
openssl pkcs12 -in sectigo.pfx -nocerts -out gpg-key.pem
Combine the keys into something GPG recognizes
openssl pkcs12 -export -in gpg-certs.pem -inkey gpg-key.pem -out gpg-key.p12
Import into GPG
gpgsm --import gpg-key.p12
At this point we have the p12
imported, and we can see it in Kleopatra, but we can’t use it for PGP operations.
cat gpg-key.pem | PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "Your Name <your@email.address>" > key.pgp
Now!!!! We have a pgp
key, and when you import the key.pgp
into GPG it will absolutely have the same key as your certificate.
gpg --import key.pgp
gpg
有 ~/.gnupg/pubring.gpg
,gpgsm
有 ~/.gnupg/pubring.kbx
。gpgsm
添加的密钥不能与 gpg
共用;gpg
不会读取 ~/.gnupg/pubring.kbx
。gpgsm
添加的密钥,请使用 gpgsm --list-keys
。如果要从这些 gpgsm
密钥创建密文,请使用 gpgsm --encrypt
。它是一个完全独立于gpg的工具。gpg
使用,GnuPG 没有提供相应的方法。OpenPGP标准中没有相关条款,因此没有可互操作性的解决方案。.gpg
/.asc
文件,然后在其上运行 gpg --import
。