如何将PEM格式的X509证书和私钥转换为GPG格式?
How to convert X509 certificate and private key in PEM format to GPG format?
我有一个 X509 证书(链)和 PEM 格式的私钥。我需要将它们转换为 GPG 格式,以便我可以使用它们进行签名。我该怎么做?
我尝试了 gpgsm,但密钥仍然没有出现在 gpg 密钥列表中。
请指教
是单独的密钥存储:gpg
有~/.gnupg/pubring.gpg
,gpgsm
有~/.gnupg/pubring.kbx
所以用 gpgsm
添加的键不能用 gpg
; gpg
不读 ~/.gnupg/pubring.kbx
.
要查看您使用 gpgsm
添加的键,请使用 gpgsm --list-keys
。要从这些 gpgsm
密钥创建密文,请使用 gpgsm --encrypt
。等等。它是一个完全独立于 gpg
.
的工具
就导入 X.509 内容供 gpg
使用而言,GnuPG 没有提供执行此操作的方法。 OpenPGP 标准中没有关于它的任何内容,因此没有可互操作的方法。
但是商业 (Symantec) PGP 桌面工具有一些方法可以做到这一点,所以如果你能得到 PGP 桌面的副本,我想你可以用它把你的 X.509 东西导入到 PGP 桌面的密钥存储,然后将其导出为 .gpg
/.asc
文件,然后 运行 gpg --import
就可以了。
步骤
将 pfx
(p12) 分解为 pem
个可以使用的文件。由于某些原因,GPG 无法处理标准编码。
openssl pkcs12 -in sectigo.pfx -nokeys -out gpg-certs.pem
openssl pkcs12 -in sectigo.pfx -nocerts -out gpg-key.pem
将密钥组合成 GPG 可识别的内容
openssl pkcs12 -export -in gpg-certs.pem -inkey gpg-key.pem -out gpg-key.p12
导入 GPG
gpgsm --import gpg-key.p12
此时我们已经导入了p12
,我们可以在Kleopatra中看到它,但是我们不能将它用于PGP操作。
cat gpg-key.pem | PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "Your Name <your@email.address>" > key.pgp
现在!!!!我们有一个 pgp
密钥,当您将 key.pgp
导入 GPG 时,它绝对会与您的证书具有相同的密钥。
gpg --import key.pgp
我有一个 X509 证书(链)和 PEM 格式的私钥。我需要将它们转换为 GPG 格式,以便我可以使用它们进行签名。我该怎么做?
我尝试了 gpgsm,但密钥仍然没有出现在 gpg 密钥列表中。
请指教
是单独的密钥存储:gpg
有~/.gnupg/pubring.gpg
,gpgsm
有~/.gnupg/pubring.kbx
所以用 gpgsm
添加的键不能用 gpg
; gpg
不读 ~/.gnupg/pubring.kbx
.
要查看您使用 gpgsm
添加的键,请使用 gpgsm --list-keys
。要从这些 gpgsm
密钥创建密文,请使用 gpgsm --encrypt
。等等。它是一个完全独立于 gpg
.
就导入 X.509 内容供 gpg
使用而言,GnuPG 没有提供执行此操作的方法。 OpenPGP 标准中没有关于它的任何内容,因此没有可互操作的方法。
但是商业 (Symantec) PGP 桌面工具有一些方法可以做到这一点,所以如果你能得到 PGP 桌面的副本,我想你可以用它把你的 X.509 东西导入到 PGP 桌面的密钥存储,然后将其导出为 .gpg
/.asc
文件,然后 运行 gpg --import
就可以了。
步骤
将
pfx
(p12) 分解为pem
个可以使用的文件。由于某些原因,GPG 无法处理标准编码。openssl pkcs12 -in sectigo.pfx -nokeys -out gpg-certs.pem openssl pkcs12 -in sectigo.pfx -nocerts -out gpg-key.pem
将密钥组合成 GPG 可识别的内容
openssl pkcs12 -export -in gpg-certs.pem -inkey gpg-key.pem -out gpg-key.p12
导入 GPG
gpgsm --import gpg-key.p12
此时我们已经导入了
p12
,我们可以在Kleopatra中看到它,但是我们不能将它用于PGP操作。cat gpg-key.pem | PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "Your Name <your@email.address>" > key.pgp
现在!!!!我们有一个
pgp
密钥,当您将key.pgp
导入 GPG 时,它绝对会与您的证书具有相同的密钥。gpg --import key.pgp