零 原理 通讯过程
HTTPS握手过程及客户端如何验证证书的合法性 - 简书
HTTPS握手过程
- 客户端发出请求(ClientHello): 客户端向服务端发起加密通信的请求
- 服务器回应(SeverHello): 服务器收到客户端请求后,确认加密通信协议版本是否一致,如果版本一致则返回服务器证书,否则关闭加密通信
- 客户端回应:客户端收到服务器回应后,客户端首先验证证书是否有效。如果证书失效,则会给访问者一个警示,由其决定是否继续连接。如果证书没失效,则使用证书中的公钥加密一个随机数(pre-master key)返回给服务器,同时返回客户端握手结束通知。
- 服务器的最后回应:服务器收到客户端发来的pre-master key后,计算生成本次会话的“会话密钥”,向客户端发送服务器握手结束通知。
整个握手阶段结束。接下来,客户端与服务器进入加密通信。
客户端如何验证证书的合法性
- 首先浏览器读取证书中的证书所有者、有效期等信息进行校验,校验证书的网站域名是否与证书颁发的域名一致,校验证书是否在有效期内
- 浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发
- 如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。
- 如果找到,那么浏览器就会从操作系统中取出颁发者CA 的公钥(多数浏览器开发商发布
版本时,会事先在内部植入常用认证机关的公开密钥),然后对服务器发来的证书里面的签名进行解密 - 浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比
- 对比结果一致,则证明服务器发来的证书合法,没有被冒充
百度搜索 ca证书原理有很多张图可以便于理解 拿一张好玩的
一 https证书的类型
原文:https://blog.csdn.net/zhongjieyuming/article/details/123663360
https证书即SSL证书,常用的类型有单域名、多域名、通配符、DV、OV、EV等,以下就简单介绍一下这几种类型。
1)单域名SSL证书:根据字面意思很好理解的,就是仅保护一个域名的普通SSL证书,可以是顶级域名也可以是二级域名。
2)多域名SSL证书:也是和字面意思一样,就是可以同时保护多个域名,不管是主域名还是子域名都行,一般可保护2~250个域名,当你有新的域名需要保护时,随时可以添加,如果超过保护数量是需要支付一定的添加费用的,但是比起重新申请一张SSL证书要划算的多,而且还节省了重新审核的时间。
3)通配符SSL证书:它是能够保护一个域名以及该域名的所有下一级域名,有范围上的限制,但是没有数量上的限制,适合拥有大量二级域名的用户。
4)DVSSL证书:亦是域名验证型证书,申请该证书时,CA(证书颁发机构)只需审核域名的所有权即可,整个流程非常简单,无需人工,由系统自动完成。所以时间上是比较快的,一般10分钟左右就能签发,而且价格比较便宜,相对来说等级也是比较低的,适合个人网站及小型组织或企业网站。
5)OVSSL证书:这个是企业验证型,比DV证书的验证要求要高一些。它不仅需要验证域名的所有权,还需要验证企业身份,验证是需提供企业信息和公司营业执照扫描件等资料,都是通过人工审核的,一般需要3-5个工作日才能颁发,价格也相对较高一些,但是安全等级大大的提高了,适合一般组织或中小型企业网站。
6)EVSSL证书:这是目前业界最高安全级别的证书,功能比前两位都强大。如果用户安装了此证书,浏览器不仅会显示绿色的地址栏及https前缀和安全锁的标志,而且还会显示企业名,这个不仅看上去就很高大上,而且真的更安全。当然了,EVSSL证书审核也是最严格的,需要提供企业信息和公司营业执照扫描件等资料以及邓白氏或者律师意见信,CA机构会人工验证组织和电话信息,一般3-7个工作日才能颁发,价格也是相对比较高的,适用于在线交易网站、大型企业或金融、银行等组织。
————————————————
二 https证书的申请
原文:
免费申请HTTPS证书六大方法 - 简书 (jianshu.com)https://www.jianshu.com/p/4f36bf75bc96
1、阿里云
- 推荐指数:★★☆☆☆
- 免费证书类型:DV 域名型
- 免费证书品牌:DigiCert(原赛门铁克(Symantec))
- 免费通配符证书:不支持
- 易操作性:简单
- 证书有效期: 1年
- 自动更新:不支持
- 自动部署: 不支持
阿里云仅提供免费的单域名HTTPS证书,如果你仅只需要一个单域名的证书,可以使用阿里云的免费证书,毕竟DigiCert是大品牌,值得信赖。在证书即将到期前,需要再次手动申请证书,不支持自动化申请和部署。申请链接:https://common-buy.aliyun.com/?commodityCode=cas#/buy
2、腾讯云
- 推荐指数:★★☆☆☆
- 免费证书类型:DV 域名型
- 免费证书品牌:TrustAsia(即亚洲诚信)
- 免费通配符证书:不支持
- 易操作性:简单
- 证书有效期: 1年
- 自动更新:不支持
- 自动部署: 不支持
腾讯云同阿里云一样,仅提供免费的单域名HTTPS证书,如果你仅只需要一个单域名的证书,同样可以使用腾讯云的免费证书,TrustAsia也是比较大的品牌。在证书即将到期前,需要再次手动申请证书,不支持自动化申请和部署。申请链接:https://buy.cloud.tencent.com/ssl?fromSource=ssl
3、certbot
- 推荐指数:★★★☆☆
- 免费证书类型:DV 域名型
- 免费证书品牌:Let's Encrypt
- 免费通配符证书:支持
- 易操作性:困难
- 证书有效期: 90天
- 自动更新:支持
- 自动部署: 支持
这里先说下Let's Encrypt证书品牌:Let's Encrypt是免费、开放和自动化的世界知名证书颁发机构,由非盈利组织互联网安全研究小组(ISRG)运营。Let's Encrypt已为全世界1.8亿个网站提供HTTPS证书,可放心使用。
再说下这个certbot:certbot是一个脚本类型的Let's Encrypt证书申请客户端,需要一定的命令行使用经验方可操作,如需自动更新,还需要添加插件,使用起来比较困难。如有自动更新和自动部署需求,建议使用下面介绍的acme.sh和ohttps.com。
4、acme.sh
- 推荐指数:★★★★★
- 免费证书类型:DV 域名型
- 免费证书品牌:Let's Encrypt
- 免费通配符证书:支持
- 易操作性:一般
- 证书有效期: 90天
- 自动更新:支持
- 自动部署: 支持
acme.sh是一个知名的用于申请Let's Encrypt证书的开源项目,项目地址:https://github.com/acmesh-official/acme.sh,也是属于脚本类型,有比较详细的文档,支持自动化更新和自动化部署。唯一缺点,如果有更新后自动部署至多个节点的需求的话,acme.sh无法满足。如果你有一定的命令行使用经验,acme.sh使用起来还是非常方便,强烈推荐!关于更新后自动部署至多个节点的需求,建议使用下面介绍的ohttps.com。
5、freessl.cn
- 推荐指数:★★★☆☆
- 免费证书类型:DV 域名型
- 免费证书品牌:Let's Encrypt、TrustAsia
- 免费通配符证书:支持Let's Encrypt的通配符类型证书
- 易操作性:简单
- 证书有效期: Let's Encrypt通配符证书有效期90天、TrustAsia双域名证书有效期1年
- 自动更新:不支持
- 自动部署: 不支持
freessl.cn提供免费的Let's Encrypt和TrustAsia证书申请,Let's Encrypt支持通配符类型,TrustAsia仅支持双域名类型证书。申请界面比较友好,根据提示在域名解析记录中添加指定的TXT类型域名解析即可,对于不会使用命令行的小白用户来说使用起来比较简单。申请链接:https://freessl.cn/
6、ohttps.com
- 推荐指数:★★★★★
- 免费证书类型:DV 域名型
- 免费证书品牌:Let's Encrypt
- 免费通配符证书:支持
- 易操作性:简单
- 证书有效期: 90天
- 自动更新:支持
- 自动部署: 支持
ohttps.com提供了类似于acme.sh的功能,不过提供了友好的管理界面,可申请Let's Encrypt免费通配符类型证书,还提供了证书吊销、到期前提醒、自动更新、自动部署功能。另外比acme.sh增加了一些非常实用的功能,主要包括可自动部署至阿里云、腾讯云、七牛云的负载均衡、内容分发CDN、SSL证书列表等,并可自动部署至多个nginx容器中。如果你有在证书更新后自动部署至多个不同节点的需求,使用ohttps.com就对了,在这里强烈推荐大家使用ohttps.com申请和管理Let's Encrypt颁发的免费HTTPS证书。申请链接:https://ohttps.com
三 https ssl基础原理
文字解释原理:
(782条消息) https证书原理是什么_wecloud1314的博客-CSDN博客_https证书原理https://blog.csdn.net/wecloud1314/article/details/120738552
很多人都想知道数字认证的原理实际上数字证书就是采用公钥密码提示。就是说利用一对互相匹配的密钥进行加密解密。人所掌握的私有密钥。用它来进行解密,还有签名。拥有一把公共密钥,并可以对外公开。用于加密和验证签名同时也就有了一把公钥,并且可以对外公开。当发送一个秘密文件的时候,接收方就可以使用自己的私钥进行解密,这样的话信息就可以安全的到达目的地。就算是被别人截获,他们没有相应的私钥也是看不了的,所以说这个是很安全的,这些就是数字认证的原理
网络分层 讲解原理 :(782条消息) HTTPS原理详解_猪哥66的博客-CSDN博客_https原理https://blog.csdn.net/u014044812/article/details/79571927
对比http:(782条消息) https和http有什么区别(内附详细分析)_邻葛先生的博客-CSDN博客_https和http区别