http://www.360doc.com/content/15/0520/10/21412_471902987.shtmlhtml
crt — Alternate synonymous most common among *nix systems .pem (pubkey).golang
csr — Certficate Signing Requests (synonymous most common among *nix systems).算法
cer — Microsoft alternate form of .crt, you can use MS to convert .crt to .cer (DER encoded .cer, or base64[PEM] encoded cer).windows
pem = The PEM extension is used for different types of X.509v3 files which contain ASCII (Base64) armored data prefixed with a «—– BEGIN …» line. These files may also bear the cer or the crt extension.服务器
der — The DER extension is used for binary DER encoded certificates.工具
证书(Certificate) .cer .crt
私钥(Private Key).key
证书签名请求(Certificate sign request) .csr
至于pem和der,是编码方式,以上三类都可以使用这两种编码方式,所以.pem和.der(少见)不必定是以上三种(Cert,Key,CSR)中的某一种ui
PEM - Privacy Enhanced Mail,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是BASE64编码.
查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -noout
Apache和*NIX服务器偏向于使用这种编码格式.编码
DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.
查看DER格式证书的信息:openssl x509 -in certificate.der -inform der -text -noout
Java和Windows服务器偏向于使用这种编码格式.code
x509
X.509是一种很是通用的证书格式。全部的证书都符合ITU-T X.509国际标准,所以(理论上)为一种应用建立的证书能够用于任何其余符合X.509标准的应用。orm
x509证书通常会用到三类文,key,csr,crt。
Key 是私用密钥openssl格,一般是rsa算法。
Csr 是证书请求文件,用于申请证书。在制做csr文件的时,必须使用本身的私钥来签署申,还能够设定一个密钥。
crt是CA认证后的证书文,(windows下面的,实际上是crt),签署人用本身的key给你签署的凭证。
Linux 下的工具们一般使用 base64 编码的文本格式,相关经常使用后缀以下:
* 证书:.crt, .pem
* 私钥:.key
* 证书请求:.csr
.cer 好像是二进制的证书。固然你也能够把证书和 key 放到同一个文件里边。这时候扩展名一般叫 .pem。Java 的 keystore 什么的都是二进制的,好像是自有格式。