如何将扩展名为 .cer 的证书转换为 .asc

如何将扩展名为 .cer 的证书转换为 .asc

我有一个证书文件(扩展名 .cer),其内容如下所示。

-----BEGIN CERTIFICATE-----
lots of data here
-----END CERTIFICATE-----

这是我们的签名证书。我将其与第三方共享,以便他们可以将其导入 gpg 公钥环。他们使用以下命令将其导入

gpg --import signing_cert.cer

但它给出了这个错误。

gpg: please see http://www.gnupg.org/faq.html for more information
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

看起来 Windows 和 gpg 使用的证书格式可能不同。有没有办法将我的签名证书导入 gpg 公钥环。任何帮助都将不胜感激。

答案1

这看起来不像是 OpenPGP/GPG 密钥。

-----BEGIN CERTIFICATE-----
<...alphabet soup...>
-----END CERTIFICATE-----

...是 PEM 编码的 X.509 证书的标准框架,与 OpenPGP/GPG 证书不兼容。它们是两个不同的证书系统。您可以使用以下方式以人性化的形式查看 X.509 证书的内容:

openssl x509 -in <filename> -noout -text

ASCII 装甲的 OpenPGP/GPG 公钥将以如下形式开始:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

版本:行指示用于创建或导出密钥的 OpenPGP 兼容软件的名称和版本。

答案2

来自我的文章。

https://www.pengdows.com/2020/06/27/convert-ax-509-pki-certificate-to-gpg/

脚步

将 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 <[email protected]>" > key.pgp

现在!!!我们有一个 pgp 密钥,并且您将 key.pgp 导入 gpg,它绝对会具有与您的证书相同的密钥。

gpg --import key.pgp

答案3

相关内容