首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器如何区分中间证书和终端实体证书?

浏览器如何区分中间证书和终端实体证书?
EN

Security用户
提问于 2018-03-13 16:23:37
回答 3查看 1.9K关注 0票数 4

只要根目录位于可信证书存储区中,浏览器就会接受由中间证书签名的结束证书。我的理解是,end实体证书本身不能对其他证书进行签名(或者在任何情况下浏览器都不会接受这样的证书)。如果是这种情况,则浏览器必须能够区分中间证书和end实体证书。它是怎么做到的?中间证书中是否有这样一条消息:“这是一个中间证书”(它已由根证书签名以确认有效性)?

EN

回答 3

Security用户

回答已采纳

发布于 2018-03-14 06:05:47

浏览器&操作系统只存储根证书,而不是中间证书。

您的问题是正确的,如果我有一个由我们加密签署的证书,有什么可以阻止我使用该证书来签署其他证书吗?!!

证书上有一个标志,指定它是CA实体还是End实体。

对于今天的StackExchange,服务器提供了3个证书。

  1. DigiCert
  2. DigiCert SHA2高级保险
  3. *.stackexchange.com

如果分析每个cert,在基本约束->Subject Type下,值将为CA (1)和(2),但对于(3)则为"EndEntity“。浏览器和应用程序将不接受未经CA证书签名的证书,如果证书中缺少基本约束->Subject Type扩展,则默认情况下证书被视为结束实体。

还有一个基本约束->路径长度约束,它指定此根证书的证书链可以有多长。这将防止中间CA发出单独的CA证书。

http://www.pkiglobe.org/

票数 4
EN

Security用户

发布于 2018-03-13 16:37:35

证书中有几个“标志”。其中一个是"I是一个CA“标志,另一个是”最大证书链长度“。最后一条限制证书链的长度。

openssl等证书工具将拒绝使用没有CA标志的证书对证书进行签名。

一旦找到非CA证书,浏览器将停止验证链。

没有"I是一个中间“标志,但是可以通过由其他人签名的CA证书来推断该状态。

票数 3
EN

Security用户

发布于 2018-03-13 18:35:59

每个证书都有一个主题,描述证书是谁的,以及颁发者,这意味着谁颁发了(并因此签署)证书。对于根证书主体和颁发者是相同的,即证书由自己签名(“自签名”)。对于中级证书,主体和发行人是不同的。根证书和中间证书都必须是CA证书,即在基本约束中具有CA:true。

基于主体和发行人可以构建证书链。在链的开头是由CA证书#1颁发的服务器证书。此CA证书#1可能是自签名的(颁发者等于主体),在这种情况下,它是信任链的结束,因此是根证书。或者,它可能由另一个CA证书签名,这意味着它位于信任链中的某个地方(而不是终端),因此它是一个中间证书。

有关详细信息,请参阅SSL证书框架101:浏览器如何实际验证给定服务器证书的有效性?维基百科:信任链

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/181462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档