什么是证书链?

在进一步讨论之前,我们需要先引入证书链的概念。提一个问题:您的浏览器如何知道是否应该信任网站的SSL证书? 受信任的根的任何下级证书都是受信任的。这在技术层面上是如何工作的呢?

当你访问一个网站时,浏览器会查看它的SSL证书,并快速的验证证书的真实性。浏览器会检查证书的有效期、确保证书没有被撤销、验证证书的数字签名。

浏览器循着证书链对证书进行身份验证的操作。要获得颁发的SSL证书,首先要生成证书签名请求(CSR)和私钥。最简单的迭代,你将CSR发送给证书颁发机构,然后它使用来自其根的私钥签署SSL证书并将其发送回来。

现在,当浏览器看到SSL证书时,它会看到证书是由其根存储中的一个受信任根颁发的(或者更准确地说,使用根的私钥签名)。因为它信任根,所以它信任根签名的任何证书。为了使你更容易理解,上述内容我们作了简化,将服务器证书直接链到根。现在加入中间证书。

什么是中间证书?

证书颁发机构不会直接从它们的根证书颁发服务器/叶子证书(最终用户SSL证书)。这些根证书太宝贵了,直接颁发风险太大了。

因此,为了保护根证书,CAs通常会颁发所谓的中间根。CA使用它的私钥对中间根签名,使它受到信任。然后CA使用中间证书的私钥签署和颁发终端用户SSL证书。这个过程可以执行多次,其中一个中间根对另一个中间根进行签名,然后CA使用该根对证书进行签名。这些链接,从根到中间到叶子,都是证书链。下面是证书链的可视化图形,为了便于理解,简化复杂的过程,我们只在证书链中加入一个中间证书,实际的证书链通常要复杂得多。

你可能会注意到,当CA颁发SSL证书时,它还会发送需要安装的中间证书。这样,浏览器就能够完成证书链,并将服务器上的SSL证书链接回它的一个根。浏览器和操作系统处理不完整链的方式各不相同。有些只会在中间证书丢失时发出问题并报错,而另一些则会保存和缓存中间证书,以防它们日后派上用场。

数字签名的作用是什么?

数字签名有点像数字形式的公证。当根证书对中间证书进行数字签名时,它实际上是将部分信任转移给中间证书。因为签名直接来自受信任根证书的私钥,所以它是自动受信任的。

任何时候,只要向浏览器或设备提供SSL证书,它就会接收证书以及与证书关联的公钥。它通过公钥验证数字签名,并查看它是由谁生成的(即由哪个证书签名的)。你现在可以开始把这些拼凑起来。当您的浏览器在网站上验证最终用户SSL证书时,它使用提供的公钥来验证签名并在证书链上向上移动一个链接。重复这个过程:对签名进行身份验证,并跟踪签名的证书链,直到最终到达浏览器信任存储中的一个根证书。如果它不能将证书链回其受信任的根,它就不会信任该证书。

根CA和中间CA有什么区别呢?

这其实很简单。Root CA(根CA)是拥有一个或多个可信根的证书颁发机构。这意味着它们根植于主流浏览器的信任存储中。中间CAs或子CAs是由中间根发出的证书颁发机构。 它们在浏览器的信任存储中没有根,它们的中间根会链回到一个受信任的第三方根。这有时称为交叉签名。

正如我们前面讨论的,CA并不直接从它们的根颁发证书。他们通过颁发中间证书并使用中间证书签署证书,增加根证书的安全性。这有助于在发生误发或安全事件时最小化和划分损害,当安全事件发生时,不需要撤销根证书,只需撤销中间证书,使从该中间证书发出的证书组不受信任。

我们刚描述了根和中间体,涉及到证书颁发机构、证书链和加密签名的信任模型,本质上归结到一个词:PKI或公钥基础设施。到目前为止,我一直避免过多地使用这个术语,除非你深入了解一些细节,否则它看起来非常抽象。

根证书和中间证书的区别相关推荐

  1. https详解之 根证书、服务器证书、用户证书的区别 jg证书

    关键句:根证书是第三方被大家信任的认证机构自签名的证书,通常浏览器会内置. 原文:根证书.服务器证书.用户证书的区别_容sir的博客-CSDN博客_根证书和服务器证书https://blog.csdn ...

  2. 什么是根证书和中间证书(中级证书)?

    什么是根证书和中间证书(中级证书)? 随着SSL证书的广泛应用,申请SSL证书的人也越来越多,但是很多使用SSL证书的用户其实并不太了解SSL证书.他们仅仅是因为要把站点从HTTP转换到HTTPS而申 ...

  3. 【ssl认证、证书】SSL 证书基本概念、证书格式、openssl和keytool的区别

    文章目录 1. keytool VS openssl 2. X.509 VS PKCS 2.1 PKCS 2.2 X.509 2.2.1 证书编码格式 2.2.1.1 DER 证书编码格式二进制 2. ...

  4. CA证书和SSL证书的区别

    SSL证书与CA证书是同一种东西吗?SSL证书与CA证书有什么区别? CA机构属于一个主体,比如:Gworg CA机构,然而CA机构可以颁发各种数字证书,其中包括SSL证书.邮件证书.加密证书.软件数 ...

  5. nginx 根证书 服务器证书,Nginx双向证书校验(服务器验证客户端证书)

    1.创建Root CA私钥 openssl genrsa -out root-ca.key 1024 2.创建Root CA证书请求 openssl req -new -out root-ca.csr ...

  6. ios 开发者证书付费三种类型区别

    ios 开发者证书付费三种类型区别 苹果开发者账号分为 个人(individual),公司(company),企业(enterprise)三种类型. 1.个人开发者账号: (1)费用:99美元每年. ...

  7. 单证与双证高级证书与普通证书的区别与联系

    了解PKI的朋友可能都会遇到类似问题,即:什么是单证什么是双证,为什么有时候叫普通证书,有时候又叫高级证书,很是头疼,在此我将目前我了解到的东东跟大家分享一下,也可以帮助刚入行的朋友. 单证: 又叫做 ...

  8. SSL数字证书(一)CA、根证书与数字证书

    数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 网络安全无疑是现 ...

  9. SSL数字证书之CA根证书、CA中间证书和SSL证书

    [前言] 说一下大背景吧,我们的一个后台服务需要部署在一个没法上外网的环境,但是我们的后台服务需要访问七牛云进行对象存储,于是乎,需要一个代理来完成这个访问,我门采用nginx七层来做这个代理,因为七 ...

最新文章

  1. Android ViewTreeObserver简介-------------转
  2. Spring Cloud Alibaba基础教程:几种服务消费方式(RestTemplate、WebClient、Feign)
  3. [转帖]高档的moss页面修改工具SPCAMLEditor使用系列(1)--利用SPCAMLEditor,10分钟打造一个在线视频播放库...
  4. 辰星计划2022 | 旷视研究院春季实习生招募开始啦!
  5. mysql慕课网笔记_mysql学习笔记
  6. 数据结构与算法--B树原理及实现
  7. vue lang_新疆人的“lang”是“浪”吗?
  8. Linux C获取文件属性
  9. Navicat怎么看oracle作业,[数据库] Navicat for Oracle基本用法图文介绍
  10. [转]Java书籍Top 10
  11. 【Flink】A Typical reason for AskTimeOutException is that the recipientactor
  12. 【转载】漏洞 CNVD-2017-36682 相关公告以及 JavaScript / 安卓开发者须知
  13. HEXO Nunjucks Error
  14. Java开发支付宝支付功能
  15. python github 12306 文贤平_GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包...
  16. Object.keys()的用法
  17. 互联网大文件的传输方式
  18. 数据库设计多表关系、范式
  19. 两道类似的概率期望题目
  20. 【TPAMI 2022】A Survey on Vision Transformer

热门文章

  1. 5G NGC — PCF Npcf_PolicyAuthorization Service
  2. stm32使用 ST-LINK Utility量产,程序读保护、写保护
  3. Thinking in React Implemented by Reagent
  4. 英特尔高通网上打嘴仗,可看起来更像是夸自己
  5. SQL Server 2008企业试用版到期,升级为企业版
  6. hive 集群初探,查询比较
  7. 传真故障排除示例--传真模式不一致导致传真失败
  8. sqoop配置与使用
  9. [Silverlight入门系列]实现局部元素全屏(Element部分全屏)
  10. Struts2拦截器(Interceptor)原理详解