杨斌
发布于 2025-09-04 / 2 阅读
0
0

SSL证书和公私钥对

一、一句话概括

SSL证书是服务器的“数字护照”,而公私钥对是生成这本“护照”和实现安全通信的“基础原料”和“工具”。证书本身包含了服务器的公钥。


二、详细解释

1. 公私钥对

  • 是什么:这是一对 mathematically related(数学上关联)的密钥,基于非对称加密算法(如RSA、ECC)。

    • 私钥:必须被服务器绝对保密,就像你的银行卡密码或保险柜钥匙。它由服务器自己生成,并且永远不应该泄露给任何人。私钥用于解密数据和创建数字签名

    • 公钥:可以公开分发给任何人,就像你的银行账号可以告诉别人用来收款。公钥用于加密数据和验证数字签名

  • 核心特性:用公钥加密的数据,只有对应的私钥才能解密。反过来,用私钥签名的数据,任何拥有公钥的人都可以验证签名确实来自对应的私钥持有者。

2. SSL证书

  • 是什么:一个数字文件,遵循X.509标准。它就像是服务器在互联网上的“数字护照”或“营业执照”。

  • 包含什么信息

    • 证书持有者的信息:网站域名、公司名称等。

    • 证书颁发者的信息:签发此证书的证书颁发机构的名称。

    • 有效期:证书的生效日期和过期日期。

    • 最重要的部分:服务器的公钥

    • 数字签名:由证书颁发机构的私钥对以上所有信息进行签名后得到的结果。

3. 它们是如何协同工作的?(关系和流程)

整个过程可以类比为办理和使用护照

  1. 生成密钥对(准备材料)

    • 服务器管理员首先在服务器上生成一对公私钥。私钥被安全地存放在服务器上。

  2. 创建证书签名请求 - CSR(填写护照申请表)

    • 服务器使用生成的私钥,创建一个CSR文件。这个CSR文件中包含了你的公钥和你的企业/域名信息

    • 关键点:CSR的过程就用到了你的私钥,但它不会传输私钥本身,而是生成一个包含信息的签名,以证明你拥有对应的私钥。

  3. 提交CSR给CA(向出入境管理局提交申请)

    • 你将CSR文件提交给一个受信任的证书颁发机构

  4. CA验证并颁发证书(管理局审核并签发护照)

    • CA会严格验证你的身份(尤其是对于OV/EV型证书)。验证通过后,CA会用它们自己的私钥对你的CSR信息(包含你的公钥)进行数字签名,生成最终的SSL证书

  5. 安装证书(拿到护照并收好)

    • 你将CA颁发给你的SSL证书安装到你的Web服务器上。现在,你的服务器拥有了两样东西:自己保管的私钥CA颁发的包含公钥的证书

  6. SSL/TLS握手(出入境检查)

    • 当用户访问你的网站时,他的浏览器会与你的服务器进行SSL/TLS握手。

    • 服务器发送证书:服务器将它的SSL证书发送给浏览器。

    • 浏览器验证证书:浏览器内置了信任的CA公钥。它用CA的公钥去验证证书上的签名是否确由该CA签发。同时检查域名、有效期等是否有效。

    • 建立安全连接:验证通过后,浏览器就从证书中提取出服务器的公钥。之后,浏览器会生成一个对称加密的密钥(会话密钥),用服务器的公钥加密后发送给服务器。服务器用自己的私钥解密后,双方就使用这个会话密钥进行高速的对称加密通信。


三、关系总结表

特性

私钥

公钥

SSL证书

保密性

绝密,仅服务器持有

公开,可给任何人

公开,随TLS握手发送

内容

一个加密密钥

一个加密密钥

包含公钥、身份信息、CA签名

谁生成

服务器自己生成

与私钥成对生成

由证书颁发机构生成和签名

主要作用

解密数据,创建数字签名

加密数据,验证数字签名

分发和认证公钥,建立信任

比喻

保险柜的钥匙

保险柜的锁孔(可以公开)

写有你名字和锁孔信息的、由公安局盖章的“锁孔使用许可证”

四、核心要点

  • 包含关系:SSL证书包含了公钥。公钥是证书的一个核心组成部分。

  • 信任链条:私钥和公钥提供了加密功能,但无法自证身份。SSL证书通过受信任的第三方的签名,将公钥与服务器的身份绑定在一起,建立了信任。

  • 缺一不可:必须同时拥有私钥和与之匹配的证书,SSL/TLS连接才能正常工作。如果丢失了私钥,证书也就作废了,必须重新生成密钥对和申请证书。


评论