我负责维护两个Debian服务器。每次我必须对安全证书做任何事情时,我都会使用Google进行教学,并最终失败。
但是,在搜索中,我经常遇到不同的文件格式(.key
,.csr
,.pem
),但我一直无法找到关于每种文件格式用途的良好解释。
我想知道ServerFault的好伙伴是否可以对此事提供一些澄清?
SSL已经存在了很长时间,您可能会认为容器格式已经达成共识。你是对的,有。发生的标准过多。这就是我所知道的,而且我敢肯定其他人也会加入。
/etc/ssl/certs
),也可以包括完整的证书链,包括公钥,私钥和根证书。令人困惑的是,由于PKCS10格式可以转换为PEM,因此它也可能对CSR进行编码(例如 此处 )。名称来自 隐私增强邮件(PEM) ,这是一种失败的安全电子邮件方法,但是其使用的容器格式仍然存在,并且是x509 ASN.1密钥的base64转换。/etc/ssl/private
。这些文件上的权限非常重要,如果设置错误,某些程序将拒绝加载这些证书。openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes
不时出现的其他几种格式:
openssl x509 -inform der -in to-convert.der -out converted.pem
)。 Windows将它们视为证书文件。默认情况下,Windows将证书导出为扩展名为.DER格式的文件。喜欢....keystore
作为扩展名。与.pem样式的证书不同,此格式具有defined方式来包括证书路径证书。概括而言,有四种不同的方式来展示证书及其组成部分:
我希望这有帮助。
PEM本身不是证书,它只是一种编码数据的方式。 X.509证书是通常使用PEM编码的一种数据类型。
PEM是X.509证书(其结构是使用ASN.1定义的),使用ASN.1 DER(可区分的编码规则)进行编码,然后通过Base64编码运行,并停留在纯文本锚行之间(BEGIN CERTIFICATE和END CERTIFICATE) )。
您可以使用PKCS#7或PKCS#12表示法来表示相同的数据,并且openssl命令行实用程序可用于执行此操作。
PEM的明显好处是可以安全地粘贴到电子邮件的正文中,因为它具有定位线并且是7位纯净的。
RFC1422 具有有关PEM标准的更多详细信息,因为它与密钥和证书有关。
有时是.crt
文件已经是.pem
。参见: https://stackoverflow.com/questions/991758/openssl-pem-key