自建 CA 签发证书并认证 HTTPS 网站的过程

Steven · 2021-02-28 03:39 · 46 views · Windows · old id 43

  • CA 机构生成密钥对:公钥 ca.cer,私钥 ca.key
  • 网站(Server 端)生成私钥 cert.key
  • 网站将其公钥及网站信息(域名/组织 etc.)提交到 CA 机构,CA 机构结合自己的私钥 ca.key 签发网站证书 cert.cer
  • 网站配置 Apache/Nginx 加载 cert.key 和 cert.cer 并运行 HTTPS 模块
  • 用户首次通过浏览器访问网站,网站首先返回 cert.cer,由于 cert.cer 使用 CA 机构的私钥签发,因此可以通过保存在用户本地的公钥 ca.cer 进行验证
  • 用户验证 cert.cer 和 ca.cer 的有效性。如果验证通过,则得到网站的公钥并以此访问网站;否则,提示用户风险信息
  • 用户通过网站的公钥与网站交换对称加密共享密钥,进行正式的 SSL 会话

所以,用户能够与网站建立 SSL 通信的关键在于用户是否拥有 CA 机构的根证书 ca.cer 和网站证书 cert.cer。**用户拿着 ca.cer 与 cert.cer 验证,只有通过后,用户才可以获得网站真实的公钥。

← Back to home