SSL证书的文件包都有啥?咱来把这些核心文件细细说一说。申请下来的证书通常是个压缩包,里头杂七杂八一大堆文件。.crt、.key、.ca-bundle、.pfx……面对这些扩展名,好多人都蒙圈了。到底哪样才是部署需要的?别急,看完你就全懂了。 一个标准的SSL证书包里主要有三类文件:证明网站身份的证书文件、不能泄露的私钥文件,还有用来连接信任链条的证书链文件。到底有啥不一样?主要看你当时是让系统生成CSR还是自己生成CSR。 先说证书文件,这可是网站的身份证。上面写着域名、是谁发的、啥时候过期,还有公钥这种关键信息。最常见的是.crt扩展名,尤其是在Linux和Unix系统里。Windows那边习惯用.cer。还有一种.pem格式的证书,其实就是Base64编码的文本格式,用记事本就能打开。看它开头一定是-----BEGIN CERTIFICATE-----,结尾是-----END CERTIFICATE-----。这玩意儿里只有公钥,没有私钥,直接发出去也没事。 然后是私钥文件,它是和公钥配对的。客户端发过来的加密数据得靠它来解密。扩展名一般是.key。这个东西绝对不能丢,也不能让人知道,一旦泄露就有人冒充你的网站搞坏事。你看私钥的开头往往写着-----BEGIN PRIVATE KEY-----或者-----BEGIN RSA PRIVATE KEY-----。 要是你在申请的时候是自己动手生成的CSR,那证书包里就没这个.key文件。以前你要是保存好私钥了,这时候就能用得上。要是忘了就麻烦了。 还有证书链文件,它里头存的是中间证书。这一步很关键,因为浏览器自带的只有根证书,中间这部分得你自己发过去,不然浏览器会提示“证书链不完整”。部署的时候一般要把服务器证书和这玩意儿合并在一块用。 那个CSR文件是申请时填的资料单,包含了域名和公司信息,提交给CA机构盖章的。扩展名为.csr。签完证就没用了,留着存档就行。这里面没有私钥。 最后还有PFX或者P12格式的证书库文件。这就像个保险箱一样把服务器证书、私钥和证书链都锁在里面了,还加了个密码保护。这种格式特别适合Windows IIS服务器或者Tomcat这种Java环境用。迁移起来特方便:只要一个文件加一个密码就行。 搞懂了这些区别不仅能顺顺当当部署HTTPS,万一以后出了问题也能一眼看出是哪个环节出了岔子。