Encryption .pem、.cer和.der之间有什么区别?

Encryption .pem、.cer和.der之间有什么区别?,encryption,cryptography,rsa,Encryption,Cryptography,Rsa,.pem、.cer和.der之间有什么区别 据我所知,.cer包含公钥。是否有任何开放式框架可用于使用此公钥加密我的数据?.pem、.cer和.der都是可能包含X.509 v3证书的文件的文件扩展名 .der扩展名 DER是对构成证书的数据进行编码的方法。DER本身可以表示任何类型的数据,但通常它描述编码证书或CMS容器 证书的结构使用ASN.1数据表示语言描述。BER和DER是ASN.1描述的数据的二进制编码方法 .pem扩展 PEM是一种将二进制数据编码为字符串(ASCII)的方法。它包含

.pem
.cer
.der
之间有什么区别


据我所知,
.cer
包含公钥。是否有任何开放式框架可用于使用此公钥加密我的数据?

.pem
.cer
.der
都是可能包含X.509 v3证书的文件的文件扩展名

.der
扩展名 DER是对构成证书的数据进行编码的方法。DER本身可以表示任何类型的数据,但通常它描述编码证书或CMS容器

证书的结构使用ASN.1数据表示语言描述。BER和DER是ASN.1描述的数据的二进制编码方法

.pem
扩展 PEM是一种将二进制数据编码为字符串(ASCII)的方法。它包含一个页眉和页脚行(指定数据被编码的类型,如果数据链接在一起,则显示开始/结束),中间的数据是基64数据。在对证书进行编码的情况下,它只包含DER证书的base 64编码。PEM代表隐私增强邮件;邮件不能包含未编码的二进制值,如DER

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
仅代表证书。它通常是DER编码的数据,但Windows也可以接受PEM编码的数据。您需要查看内容(例如,在posix系统上使用
文件
实用程序),以查看文件中的内容,以便100%确定

其他OpenSSL格式 查看OpenSSL支持的内容的更广泛列表


要使用证书中包含的公钥(并由证书中的签名签名),您应该使用解析X.509证书并执行RSA加密的任何库。您可以使用检测/处理PEM编码的工具,也可以首先通过剥离PEM编码将证书转换为DER

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

细节 与大多数ASN.1结构一样,DER编码的证书总是以字节
30
开始,这是ASN.1
序列的标记编码。如果你在文件中看到很多重复,那么这是可以的;严格定义的只是结构


同样,PEM编码文件中的基64总是以字母
M
开头,就像ASN.1
序列
以字节
30
开头一样,因此前6位是
001100
,它转换为数字12,这是字母
M
的索引,字母表中的第十三个字母。

我认为它们都是文件格式,可以存储任何键;有一些工具可以在它们之间自由转换。@IMSoP你说得对,但是对于.cer到.der,
cp
命令可以:)我已经删除了iOS特定的部分,似乎有很多例子,比如和使用.pem。