CA数字证书数字签名 HTTPS SSL认证是分别是什么

纵然是瞬间 提交于 2020-04-05 16:44:35

HTTPS SSL认证 CA 数字证书 数字签名 一文扫盲 原理概述 

2017-09-02编辑

跟苹果打交道的开发者都会接触到 证书、签名、HTTPS等等东西,做了这么多年iOS开发竟然还不明白个中关系,下面我们来说一下它们是如何搞在一起的。

讲解之前我们首先要知道公钥、私钥、非对称加密的概念,不知道的可以百度一下。

概念解释

  数字证书:数字证书是由CA颁发的,包含有申请者的公钥及申请者的其它信息

  CA(Certificate Authority):证书认证机构,是PKI的核心。负责颁发证书、认证证书、管理已颁发证书的机关。根CA下面还有从CA(子CA,中级CA)。

  数字签名:发送方用其私钥对原文的摘要进行加密后生成,更加详细的分析 数字签名是什么 和 数字签名原理 

  HTTPS:HTTP的安全版。即在HTTP下加入SSL层

  SSL:是为网络通信提供安全及数据完整性的一种安全协议

  他们的关系:客户端&服务端通过CA或其子机构申请数字证书,用于HTTPS的加密通信。客户端向服务器发送SSL连接请求,服务器返回自己的数字证书公钥PKI,客户端在收到公钥后,会对其进行验证,看是否是自己信任的CA机构所颁发,验证OK后双方即可开始通信。不过这仅是客户端对服务器的单向认证,也是应用最广泛的认证方式,因为用户千千万,服务器对用户是公开的,谁都可以来访问。如果要使用双向认证的方式即加入服务端对客户端的认证,就要求客户端发送自己的数字证书给服务器,服务器也对证书进行校验。

申请数字证书

  要让我们的客户端/服务器支持Https协议,首先要申请数字证书,有2种途径

  • 从证书颁发机构申请(需要RMB)
  • 自签CA(免费,但不受浏览器信任)

  申请流程

  1. 生成一对密钥
  2. 用公钥和用户基本信息生成证书请求csr (很多工具可一步生成私钥和csr)
  3. 从颁发机构申请证书
  4. 证书机构颁发pem或cer证书

参考

  网易公开课

  http://www.cnblogs.com/guogangj/p/4118605.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!