看完还不懂ssl证书来私信我

174 阅读1分钟

小伙伴们在生成证书时候,通常会拿到一个.key 文件(私钥)和一个cer 文件(或 .crt、.pem)。经常会有同学分不清,面试也往往答不到点上。

🧾 1. .cer 文件(或 .crt、.pem)

image.png

-----BEGIN CERTIFICATE-----
(服务器证书内容)
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
(中间CA证书)
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
(根CA证书,非必须,很多客户端已有)
-----END CERTIFICATE-----

服务器的 SSL 证书,包含:

• 服务器的公钥

有效期

• 证书的签发者信息(CA是谁)

• 最重要的是:签名(由 CA 用私钥签名,确保证书是可信的)

🔑 2. .key 文件(私钥)

image.png

这是私钥文件,是整个 HTTPS 加密通信的核心:

• 和 .cer 文件里的公钥是一对的(非对称加密)

• 永远不能泄露给别人

• Nginx/Apache/其他 Web 服务器在 TLS 握手时会用这个私钥来完成加密和身份验证

💡 公钥加密、私钥解密;私钥签名、公钥验证,它们是一对。


🔗 3. 证书链(certificate chain)

有时服务器证书本身还不足以让浏览器信任,就需要附带一整条“链”:

Nginx配置

ssl_certificate     /path/to/fullchain.pem;   # 包含 .cer 和中间证书
ssl_certificate_key /path/to/yourdomain.key;  # 私钥