在cer和crt之间有什么区别?我知道它们都是相同的SSL证书格式,但不知道它们之间的区别。
如果没有区别,为什么会有2个不同的扩展名呢?
在cer和crt之间有什么区别?我知道它们都是相同的SSL证书格式,但不知道它们之间的区别。
如果没有区别,为什么会有2个不同的扩展名呢?
无。
扩展名和文件名是无用的,它们不计入内容。软件不关心你如何命名持有证书和私钥的文件名,它可以是foobar.42
,只要内容正确就可以正常工作。
文件名只是为了帮助人类更容易地知道它是关于什么的。例如,通常使用站点名称作为文件名来清楚地标识它,然后在证书(.cert
或.crt
或.cer
)和私钥(.key
)一侧使用“某些”扩展名。您还可以生成证书签名请求(在获取证书之前生成的内容),通常为.csr
。
有时您可能也会发现.pem
,这是模棱两可的:PEM是一种编码内容的格式,您可以对证书或密钥进行编码,因此仅凭.pem
,您不知道它是关于什么的,而.crt
与.key
至少可以清晰地区分开来。
现在,.cert
可能是最明显的选择...但由于我们继承了一些过去操作系统的任意限制,我们通常更喜欢扩展名最多只有3个字母,因此在.cert
缩短为.cer
或.crt
之间进行选择(我认为后者更常见)。同样由于相同愚蠢的过去任意决定,某些操作系统根据文件名附加特定的操作。如果文件以.crt
结尾与以.cer
结尾,则您的操作系统可能会以不同的方式处理相同的文件。但这都是配置和本地首选项,再次强调只有内容真正重要。
然后我们需要一种标准来构建这些密钥,X.500出现了,逐渐演变成为X.509 v3,它以.DER(二进制)或.PEM(仅是在"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"之间用Base-64编码的DER)编码。因此,有时您可能会看到.DER格式,有时会看到.PEM格式的证书。
除了.DER和.PEM之外,我们还有其他相关的证书格式,例如.CER和.CRT。
其中,一个很好的解释来自此处:
.CRT = CRT扩展名用于证书。证书可以编码为二进制DER或ASCII PEM格式。CER和CRT扩展名几乎是同义词。在*nix系统中最常见。