加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – IE / Chrome如何知道哪些中级CA在不属于链时使用?

发布时间:2020-12-14 00:30:16 所属栏目:Windows 来源:网络整理
导读:我的网络上的服务器使用RapidSSL CA颁发的证书进行签名,但不提供给完整的发行者链(RapidSSL CA的证书由GeoTrust CA颁发,这是一个受信任的根权限). 当我使用Firefox访问该网站时,我收到以下错误: The certificate is not trusted because no issuer chain wa
我的网络上的服务器使用RapidSSL CA颁发的证书进行签名,但不提供给完整的发行者链(RapidSSL CA的证书由GeoTrust CA颁发,这是一个受信任的根权限).

当我使用Firefox访问该网站时,我收到以下错误:

The certificate is not trusted because no issuer chain was provided.
(Error code: sec_error_unknown_issuer)

但是,如果我使用IE或Chrome连接到网站,它可以工作,我注意到RapidSSL随后被加载为中级CA.我不明白Chrome / IE(我假设它使用Windows证书存储区)知道如何将RapidSSL添加为中间CA.

当我使用openssl s_client来调试连接时,我得到了预期的行为(根据我的说法).

仅使用GeoTrust作为CA时,我得到以下内容:

Verify return code: 21 (unable to verify the first certificate)

仅使用RapidSSL作为CA:

Verify return code: 2 (unable to get issuer certificate)

使用时:

Verify return code: 0 (ok)

任何人都可以帮助我理解Windows如何将RapidSSL CA作为中间权限加载?

根据颁发的证书的授权信息访问(AIA)扩展中的URL信息下载CA证书.

我听说,Firefox使用自己的证书存储和/或链接引擎. Chrome和IE使用Windows中的一个.

证书验证过程

将证书提交给应用程序时,应用程序必须使用证书链引擎来确定证书的有效性.只有在证书链成功验证后,应用程序才能信任证书和证书所代表的身份.三个不同但相互关联的过程用于确定证书的有效性:

■证书发现要构建证书链,证书链引擎必须收集颁发CA证书和所有CA证书,直至根CA证书. CA证书是从CryptoAPI缓存,组策略或企业策略中收集的,或者作为最后的手段,从颁发的证书中的授权信息访问(AIA)统一资源定位符(URL)下载.从CryptoAPI缓存以外的位置下载证书后,会将其添加到用户的CryptoAPI缓存中,以便更快地进行检索.

■路径验证当证书链引擎验证证书时,它会执行不要停留在提供的证书上.证书链中的每个证书都必须是验证,直到达到自签名根证书.验证测试可以包括验证authenticode签名,确定颁发CA证书是否包含在NTAuth存储中,或包含特定的应用程序或证书策略对象标识符(OID).如果一个证书未通过有效性测试,则整个链可能被视为无效并且未被调用应用程序使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读