如何将PEM格式的X509证书和私钥转换为GPG格式?

Pet*_*son 5 certificate gnupg pem x509certificate x509

我有 PEM 格式的 X509 证书(链)和私钥。我需要将它们转换为 GPG 格式,以便我可以使用它们进行签名。我怎样才能做到这一点?

我试过 gpgsm,但密钥仍然没有出现在 gpg 密钥列表中。

请指教。

Ala*_*ley 8

来自我的文章

\n

脚步

\n
    \n
  1. pfx将(p12)分解成pem可以使用的文件。由于某种原因,GPG 无法处理标准编码。

    \n
    openssl pkcs12 -in sectigo.pfx  -nokeys -out gpg-certs.pem\nopenssl pkcs12 -in sectigo.pfx -nocerts -out gpg-key.pem\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 将密钥组合成 GPG 可以识别的内容

    \n
    openssl pkcs12 -export -in gpg-certs.pem -inkey gpg-key.pem -out gpg-key.p12\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
  5. 导入GPG

    \n
    gpgsm --import gpg-key.p12\n
    Run Code Online (Sandbox Code Playgroud)\n
  6. \n
  7. 此时我们已经p12导入了,我们可以在 Kleopatra 中看到它,但是我们不能\xe2\x80\x99t 将它用于 PGP 操作。

    \n
    cat gpg-key.pem | PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "Your Name <your@email.address>" > key.pgp\n
    Run Code Online (Sandbox Code Playgroud)\n
  8. \n
  9. 现在!!!!我们有一个pgp密钥,当您将其导入key.pgpGPG 时,它绝对会具有与您的证书相同的密钥。

    \n
    gpg --import key.pgp\n
    Run Code Online (Sandbox Code Playgroud)\n
  10. \n
\n


sid*_*ker 2

It\xe2\x80\x99s 单独的密钥存储:gpghas ~/.gnupg/pubring.gpg, gpgsmhas~/.gnupg/pubring.kbx

\n\n

因此添加的键gpgsm\xe2\x80\x99t 可用于gpg; gpg不\xe2\x80\x99t 读取~/.gnupg/pubring.kbx

\n\n

要查看您添加的键gpgsm,请使用gpgsm --list-keys。要从这些gpgsm密钥创建密文,请使用gpgsm --encrypt. 等等。它\xe2\x80\x99是一个与gpg.

\n\n

至于导入 X.509 内容以供使用gpg,GnuPG 没有\xe2\x80\x99t 提供一种方法来做到这一点。OpenPGP 标准中没有任何相关内容,因此没有可互操作的方法来做到这一点。

\n\n

但是商业(赛门铁克)PGP Desktop 工具有一些方法可以做到这一点,所以如果您可以获得 PGP Desktop 的副本,我想您可以使用它将 X.509 内容导入到 PGP Desktop\xe2\x80\ x99s 密钥存储,然后将其导出为.gpg/.asc文​​件,然后gpg --import在其上运行。

\n