`
ymq267
  • 浏览: 130512 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

电子证书 DER vs. CRT vs. CER vs. PEM

阅读更多
一直对电子证书的文件后缀比较头大,搞不清这些后缀的关系,终于在网上搜到一个比较简明的文章,试着翻译一下:)


证书与编码

本至上,X.509证书是一个数字文档,这个文档根据RFC 5280来编码并/或签发。

实际上,“X.509证书”经常被用来指代IETF的PKIX(Public Key Infrastructure)证书和X.509 v3 证书标准中的CRL(Certificate Revocation List)。


X509 文件扩展名

首先我们要理解文件的扩展名代表什么。DER、PEM、CRT和CER这些扩展名经常令人困惑。很多人错误地认为这些扩展名可以互相代替。尽管的确有时候有些扩展名是可以互换的,但是最好你能确定证书是如何编码的,进而正确地标识它们。正确地标识证书有助于证书的管理。


编码 (也用于扩展名)
.DER = 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
.PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—– BEGIN …“开始。

常用的扩展名

.CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
.KEY = 扩展名KEY用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。
CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。
分享到:
评论

相关推荐

    用OpenSSL把二进制的Cer证书转换程Base64格式的PEM格式的证书.docx

    PEM格式:PEM格式的证书通常以`.pem`或`.crt`为扩展名,内容以“—–BEGIN CERTIFICATE—–”开头,以“—–END CERTIFICATE—–”结尾,中间是Base64编码的证书数据。这种格式便于在文本文件中读取和传输。 转换...

    java实现读取证书访问https接口

    本篇将深入探讨如何在Java中实现这一过程,重点关注读取不同格式的证书(如cer、der、crt)以及访问HTTPS接口。 首先,了解证书的格式: 1. **.cer**:这是X.509证书的标准格式,通常包含公钥和证书颁发机构的信息...

    cer 转成p12方法

    - **X.509 PEM编码 (.PEM, .CER, .CRT)**:基于Base64编码的文本格式,同样用于存储证书。 #### 三、证书转换流程详解 ##### 1. X.509 DER证书与P12证书的主要区别 X.509 DER证书与P12证书的最大区别在于是否包含...

    包含DER、PEM、CRL后缀的数字证书.rar

    DER证书通常具有扩展名为.crt或.cer,它是非文本格式,紧凑且高效,但不易于人类阅读。由于其二进制性质,DER证书在跨平台和系统间交换时需要特别注意兼容性问题。 2. **PEM(Privacy Enhanced Mail)**:PEM证书以...

    解决linux下访问https站点问题:证书无效.docx

    此外,需要注意的是,CA 证书的格式可以是 cer、crt、pem 等多种格式,而 OpenSSL 工具可以实现这些格式之间的转换。同时, Linux 系统的证书库也可以是不同的,例如,/etc/pki/tls/certs/ca-bundle.crt 或 /usr/...

    OpenSSL 常用語法整理

    openssl x509 -inform PEM -outform DER -in ClientCA.crt -out ClientCA.cer ``` **解析:** - `-inform PEM` 表示输入文件的格式为PEM。 - `-outform DER` 表示输出文件的格式为DER。 - `-in ClientCA.crt` 指定...

    golang解析数字证书

    对于PKCS#1,使用`pem.Decode`解码PEM编码的私钥;对于PKCS#8,先解码,然后用`x509.ParsePKCS8PrivateKey`解析。 ```go keyBytes, err := ioutil.ReadFile("private_key.pem") if err != nil { // 处理错误 }...

    [PKI]常见证书格式和转换

    - **DER编码(ASCII)**:通常以.DER、.CER或.CRT作为文件扩展名,采用二进制格式存储证书数据。 - **PEM编码(Base64)**:以.PEM、.CER或.CRT为扩展名,使用Base64编码将二进制数据转换为可读的文本格式。 2. ...

    JAVA使用数字证书加密文件

    首先,我们需要了解几种常见的证书格式:CRT、PEM、PFX和CER。这些格式代表了不同类型的证书存储方式: 1. CRT(Certificate)文件通常包含公钥和证书信息,是PKCS#7标准的一种编码格式。 2. PEM(Privacy Enhanced...

    制作RSA非对称加密证书(pfx\der)openssl

    DER(Distinguished Encoding Rules)是X.509证书的标准编码方式,它是ASCII码的二进制表示,通常扩展名为.cer或.der,适用于跨平台传输。 以下是使用openssl创建RSA非对称加密证书的步骤: 1. **生成RSA密钥对** ...

    openssl生成证书

    - PEM转DER:`openssl x509 -outform der -in certificate.pem -out certificate.der` 2. 私钥加密:为了保护私钥,可以使用密码对其进行加密: ``` openssl rsa -aes256 -in server.key -out server_encrypted....

    A few frequently used SSL commands

    - 将DER格式(如.crt、.cer、.der)转换为PEM格式:`openssl x509 -inform der -in MYCERT.cer -out MYCERT.pem` - 将PEM转换为DER格式:`openssl x509 -outform der -in MYCERT.pem -out MYCERT.der` 9. **PKCS#...

    自信数据证书工具

    这款工具能够帮助用户创建多种格式的证书,包括`.der`、`.crt`、`.cer`、`.p7b`、`.p12`和`.pem`,这些格式各有其特定的应用场景和功能。 1. `.der`格式:DER(Distinguished Encoding Rules)是ASN.1(Abstract ...

    https双向证书制作详细制作步骤

    - CRT:常指证书文件,可以是DER或PEM格式。 - CER:同样指证书文件,通常是DER格式。 - **KEY**:指私钥文件,可以是PKCS#8等格式。 #### 三、HTTPS双向证书制作流程 下面详细介绍HTTPS双向证书的具体制作步骤:...

    c++证书安装

    在Linux或macOS中,可能需要使用命令行工具,如`openssl x509 -in cert.pem -outform DER -out cert.crt`转换格式,然后使用`sudo update-ca-certificates`或`sudo security add-trusted-cert -d -r trustRoot -k /...

    2022如何在Java处理PFX格式证书.docx

    PFX文件格式与其他证书文件格式如DER-encoded certificate(.cer、.crt)、PEM-encoded message(.pem)、PKCS#10 Certification Request(.p10)、PKCS#7 cert request response(.p7r)和PKCS#7 binary message(....

    HTTPS证书制作及配置全记录

    4. **.CER**:在Windows环境中,CER文件主要用于存储数字证书,而CER文件可以转换为CRT文件,反之亦然。这两种格式都是DER格式的别名。 5. **.KEY**:存储私钥的文件。私钥是用于解密和签名的密钥,通常是保密的,...

    数字证书格式详细说明

    * .cer/.crt:用于存放证书,二进制形式存放,不含私钥。 * .pem:用于存放证书,以 ASCII 形式表示。 * .pfx/.p12:用于存放个人证书/私钥,通常包含保护密码,二进制方式。 * .p10:证书请求文件。 * .p7r:CA 对...

    AFNetworking 请求HTTPS时 SSL的身份验证设置 - Kongweikun的专栏 - 博客频道 - CSDN.N

    `.crt`文件通常是PEM编码的,而`.cer`文件通常是DER编码的。要将`.crt`转换为`.cer`,可以使用OpenSSL工具执行以下命令: ```bash openssl x509 -in your_certificate.crt -out your_certificate.cer -outform der ...

Global site tag (gtag.js) - Google Analytics