【问题标题】:Which field is used to identify the root certificate from the cert store? [duplicate]哪个字段用于识别证书存储中的根证书? [复制]
【发布时间】:2018-05-10 05:50:32
【问题描述】:

在服务器端,有一个公共证书“CertA”,由根证书“RootCert”签名。

在客户端,“RootCert”已安装在证书存储中。

当客户端(浏览器)从服务器端接收到证书“CertA”时,它用于从其证书存储中检索根证书的哪个文件?是“通用名”还是“序列号”或“指纹”?

【问题讨论】:

  • 不同操作系统上的不同网络浏览器使用不同的位置来定位根证书,所以这个问题太宽泛了。
  • @LexLi 根证书的存储位置无关紧要,但它不是主题,因为它不是编程问题。
  • 服务器不仅提供其证书,还提供证书,直至并包括由客户端信任的CA签署的证书。
  • @LexLi 我刚刚详细阐述了这个问题。我的问题是客户端使用哪个“归档”来识别其证书存储中的根证书。
  • 请花足够的时间在维基百科文章en.wikipedia.org/wiki/X.509 等材料上,它甚至为您提供示例证书和深入分析。

标签: ssl ssl-certificate


【解决方案1】:

CertA 包含标识其签名证书的详细信息。如果客户端证书在其证书存储中安装了该证书,则它知道批准 CertA

例如,此站点的证书在“颁发者”部分中包含颁发者的详细信息:

通用名称 (CN) *.stackexchange.com 组织 (O) Stack Exchange, Inc. 组织单位 (OU) 颁发者

通用名称 (CN) DigiCert SHA2 High Assurance Server CA 组织 (O) DigiCert Inc 组织单位 (OU) www.digicert.com

【讨论】:

  • 那么用哪个字段来查找已安装的证书呢?是“通用名”还是“序列号”或“指纹”?
  • 要验证这个最终实体证书,需要一个与其IssuerAuthority Key Identifier相匹配的中间证书。(en.wikipedia.org/wiki/X.509)
猜你喜欢
  • 2012-05-12
  • 2022-01-25
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 2020-12-15
  • 1970-01-01
  • 2011-05-15
相关资源
最近更新 更多