我负责维护两个Debian服务器。 每次我必须做任何安全证书,我谷歌的教程,并击败,直到它终于起作用。
然而,在我的search中,我经常遇到不同的文件格式( .key
, .csr
, .pem
),但是我从来没有find一个很好的解释每个文件格式的目的是什么。
我想知道ServerFault中的好人是否可以在这个问题上提供一些解释?
SSL已经存在了足够长的时间,你会认为会有容器格式的商定。 你是对的,有。 发生的标准太多了。 所以这就是我所知道的,而且我确信其他人会join进来。
/etc/ssl/certs
),也可以包含整个证书链,包括公钥,私钥和根证书。 令人困惑的是,它也可能编码一个CSR(例如这里使用的),因为PKCS10格式可以被翻译成PEM。 该名称来自隐私增强邮件(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格式的文件。 喜欢… 总之,有四种不同的方式来提交证书及其组件:
我希望这有帮助。
它自己的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