一直对电子证书的文件后缀比较头大,搞不清这些后缀的关系,终于在网上搜到一个比较简明的文章,试着翻译一下:)
证书与编码
本至上,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文件只有在使用相同编码的时候才可以安全地相互替代。
分享到:
相关推荐
PEM格式:PEM格式的证书通常以`.pem`或`.crt`为扩展名,内容以“—–BEGIN CERTIFICATE—–”开头,以“—–END CERTIFICATE—–”结尾,中间是Base64编码的证书数据。这种格式便于在文本文件中读取和传输。 转换...
本篇将深入探讨如何在Java中实现这一过程,重点关注读取不同格式的证书(如cer、der、crt)以及访问HTTPS接口。 首先,了解证书的格式: 1. **.cer**:这是X.509证书的标准格式,通常包含公钥和证书颁发机构的信息...
OpenSSL 生成 CA 证书 PKCS#12 PEM 格式转换 OpenSSL 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持 SSL/TLS 协议的实现。 OpenSSL 工具箱中包含了大量实用的命令和选项,...
- **X.509 PEM编码 (.PEM, .CER, .CRT)**:基于Base64编码的文本格式,同样用于存储证书。 #### 三、证书转换流程详解 ##### 1. X.509 DER证书与P12证书的主要区别 X.509 DER证书与P12证书的最大区别在于是否包含...
DER证书通常具有扩展名为.crt或.cer,它是非文本格式,紧凑且高效,但不易于人类阅读。由于其二进制性质,DER证书在跨平台和系统间交换时需要特别注意兼容性问题。 2. **PEM(Privacy Enhanced Mail)**:PEM证书以...
此外,需要注意的是,CA 证书的格式可以是 cer、crt、pem 等多种格式,而 OpenSSL 工具可以实现这些格式之间的转换。同时, Linux 系统的证书库也可以是不同的,例如,/etc/pki/tls/certs/ca-bundle.crt 或 /usr/...
openssl x509 -inform PEM -outform DER -in ClientCA.crt -out ClientCA.cer ``` **解析:** - `-inform PEM` 表示输入文件的格式为PEM。 - `-outform DER` 表示输出文件的格式为DER。 - `-in ClientCA.crt` 指定...
对于PKCS#1,使用`pem.Decode`解码PEM编码的私钥;对于PKCS#8,先解码,然后用`x509.ParsePKCS8PrivateKey`解析。 ```go keyBytes, err := ioutil.ReadFile("private_key.pem") if err != nil { // 处理错误 }...
- **DER编码(ASCII)**:通常以.DER、.CER或.CRT作为文件扩展名,采用二进制格式存储证书数据。 - **PEM编码(Base64)**:以.PEM、.CER或.CRT为扩展名,使用Base64编码将二进制数据转换为可读的文本格式。 2. ...
首先,我们需要了解几种常见的证书格式:CRT、PEM、PFX和CER。这些格式代表了不同类型的证书存储方式: 1. CRT(Certificate)文件通常包含公钥和证书信息,是PKCS#7标准的一种编码格式。 2. PEM(Privacy Enhanced...
DER(Distinguished Encoding Rules)是X.509证书的标准编码方式,它是ASCII码的二进制表示,通常扩展名为.cer或.der,适用于跨平台传输。 以下是使用openssl创建RSA非对称加密证书的步骤: 1. **生成RSA密钥对** ...
- PEM转DER:`openssl x509 -outform der -in certificate.pem -out certificate.der` 2. 私钥加密:为了保护私钥,可以使用密码对其进行加密: ``` openssl rsa -aes256 -in server.key -out server_encrypted....
- 将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 ...
- CRT:常指证书文件,可以是DER或PEM格式。 - CER:同样指证书文件,通常是DER格式。 - **KEY**:指私钥文件,可以是PKCS#8等格式。 #### 三、HTTPS双向证书制作流程 下面详细介绍HTTPS双向证书的具体制作步骤:...
在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 /...
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(....
4. **.CER**:在Windows环境中,CER文件主要用于存储数字证书,而CER文件可以转换为CRT文件,反之亦然。这两种格式都是DER格式的别名。 5. **.KEY**:存储私钥的文件。私钥是用于解密和签名的密钥,通常是保密的,...
* .cer/.crt:用于存放证书,二进制形式存放,不含私钥。 * .pem:用于存放证书,以 ASCII 形式表示。 * .pfx/.p12:用于存放个人证书/私钥,通常包含保护密码,二进制方式。 * .p10:证书请求文件。 * .p7r:CA 对...