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

Certificate 如何将PEM格式的X509证书和私钥转换为GPG格式?,certificate,x509certificate,x509,gnupg,pem,Certificate,X509certificate,X509,Gnupg,Pem,我有一个X509证书(链)和PEM格式的私钥。我需要将它们转换为GPG格式,以便我可以使用它们进行签名。我该怎么做 我试过gpgsm,但这些键仍然没有出现在gpg键列表中 请告知。这是单独的密钥存储:gpg有~/.gnupg/pubring.gpg,gpgsm有~/.gnupg/pubring.kbx 因此,使用gpgsm添加的键不能用于gpggpg不读取~/.gnupg/pubring.kbx 要查看您使用gpgsm添加的按键,请使用gpgsm--list key。要从这些gpgsm密钥创建密

我有一个X509证书(链)和PEM格式的私钥。我需要将它们转换为GPG格式,以便我可以使用它们进行签名。我该怎么做

我试过gpgsm,但这些键仍然没有出现在gpg键列表中


请告知。

这是单独的密钥存储:
gpg
~/.gnupg/pubring.gpg
gpgsm
~/.gnupg/pubring.kbx

因此,使用
gpgsm
添加的键不能用于
gpg
gpg
不读取
~/.gnupg/pubring.kbx

要查看您使用
gpgsm
添加的按键,请使用
gpgsm--list key
。要从这些
gpgsm
密钥创建密文,请使用
gpgsm--encrypt
。等等它是与
gpg
完全不同的工具

至于导入X.509内容供
gpg
使用,GnuPG没有提供这样做的方法。OpenPGP标准中没有关于它的任何内容,因此没有可互操作的方法来实现它

但是商业(赛门铁克)PGP桌面工具有一些方法可以做到这一点,所以如果你能找到PGP桌面的副本,我想你可以用它将你的X.509文件导入PGP桌面的密钥存储,然后将其导出为
.gpg
/
.asc
文件,然后在上面运行
gpg--import

台阶
  • pfx
    (第12页)拆分为可使用的
    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
    

  • 这些步骤是明确和有用的。然而,答案的格式使解析和理解变得异常困难。我已经编辑了您的答案,将步骤放入编号的列表中,将命令放入代码块中,使其更具可读性。请查看我的编辑,既要确保它们与您的期望一致,也要了解如何通过堆栈溢出标记进行格式化。
    gpg --import key.pgp