Chrome 是否支持 TLS 握手中的 OID 过滤器

Chrome 是否支持 TLS 握手中的 OID 过滤器

引自rfc8446

“oid_filters”扩展允许服务器提供一组希望客户端证书匹配的 OID/值对。如果服务器提供此扩展,则必须仅在证书请求消息中发送。

这对于具有不同 EKU(文档签名与身份识别)的客户端证书非常有用。

答案1

OID 过滤器与 TLS 握手有关,并且不依赖于 Chrome。它们是服务器端对服务器可能接受的证书的限制。

文章中给出了明确的定义 TLS 1.3 的可读规范

过滤器:证书扩展 OID [RFC 5280] 列表及其允许的值,以 DER 编码 [X690] 格式表示。某些证书扩展 OID 允许多个值(例如,扩展密钥用法)。如果服务器包含非空过滤器列表,则响应中包含的客户端证书必须包含客户端识别的所有指定扩展 OID。对于客户端识别的每个扩展 OID,客户端证书中必须存在所有指定值(但证书也可以有其他值)。但是,客户端必须忽略并跳过任何无法识别的证书扩展 OID。如果客户端忽略了一些必需的证书扩展 OID 并提供了不满足请求的证书,则服务器可以自行决定继续连接而无需客户端身份验证,或者使用“unsupported_certificate”警报中止握手。

在不太可能发生的情况下,客户端拥有一个服务器的多个证书,其中一些遵循 OID 过滤器,而一些可能不遵循,客户端应该选择最匹配的证书进行握手。

相关内容