我有company.cer
一个文件,是我从某人那里收到的 DER 编码证书。我需要将此文件转换为 PGP 文件,以便我可以使用
gpg --import <key>
我该怎么做?
我可以使用以下命令将 DER 编码证书转换为 PEM 文件
openssl x509 -in company.cer -inform der -outform pem -out company.pem
答案1
不能。问题不在于文件是二进制 DER 还是 Base64 的 DER(又名“PEM”)——问题在于 X.509 证书与 PGP 证书有着根本的不同,同样,S/MIME 消息格式与 PGP 或 PGP/MIME 格式完全不兼容。
尽管两者都使用相同的基本算法(例如,相同类型的 RSA 参数),但问题在于 X.509 和 PGP 都具有所有额外的元数据。将一种格式转换为另一种格式将产生一个实际上不认证任何内容的证书。(这两种证书都包含其元数据的数字签名,在转换过程中不可能保留。)
但更重要的是,如果此人为您提供了用于 S/MIME 的 X.509 证书,那么他们要么计划向您发送 S/MIME 签名的消息(您的 PGP 软件无论如何都无法验证),要么希望收到来自您的 S/MIME 加密消息(并且即使您向他们发送了 PGP 加密消息,他们也无法读取)。
gpgsm
也许你正在寻找是S/MIME 和 X.509 工具包?