有什么区别.pem,,,,.cer.der

据我所知,.cer包含公钥。我可以使用此公共密钥使用任何开放式框架来对数据进行加密?

答案

.pem,,,,.cer.der都是可能包含X.509 V3证书的文件的所有文件扩展名。

.der扩大

DER 是对构成证书的数据进行编码的方法。 任何一种数据,但通常它描述编码证书或 CMS 容器。

证书的结构使用 ASN.1 数据表示语言进行描述。

.pem扩大

PEM 是一种将二进制数据编码为字符串(ASCII 装甲)的方法。

PEM 还可以编码/保护与证书相关的其他类型的数据,例如公钥/私钥、证书请求等。如果内容是常见的 X509v3 证书,则 PEM 编码为:

-----BEGIN CERTIFICATE-----
... base 64 encoding of the DER encoded certificate
    with line endings and padding with equals signs ...
-----END CERTIFICATE-----

请注意,PEM 文件还可能包含完整的证书链,其中该链以服务的叶/结束证书开始,后跟对其进行签名的证书,通常直至但不包括受信任的根证书。

.cer或者.crt扩大

.cer只是代表证书。file%20utility%20on%20posix%20systems)%20to%20see%20what%20is%20in%20the%20file%20to%20be%20100%%20sure。

其他 OpenSSL 格式

看一眼这个答案有关 OpenSSL 支持的内容的更广泛列表。


使用公钥包含 在证书中(和被…签名证书中的签名)您应该使用任何解析 X.509 证书并执行 RSA 加密的库。

OpenSSL 命令行包含许多选项,可用于在 PEM 和 DER 之间进行转换、打印高级证书信息或解析 ASN.1 以获取其中内容的低级视图。

细节

与大多数 ASN.1 结构一样,DER 编码的证书始终以一个字节开始30这是 ASN.1 的标签编码SEQUENCE结构这是严格定义的。

同样,PEM 编码文件中的基数 64 始终以字母开头M作为 ASN.1SEQUENCE以一个字节开始30,所以前 6 位是001100,翻译为数字 12,即字母的索引M,字母表中的第十三个字母。

来自: stackoverflow.com