【发布时间】:2021-11-30 15:27:23
【问题描述】:
对于普通 TLS,客户端将检查我正在与之通信的服务器实际上是否在与 CN 匹配的 FQDN 上,因此如果证书用于不同的域,则默认情况下 TLS 不应工作,因为证书不适用于此站点.
对于 mTLS,当服务器检查客户端证书时,它可以以某种方式检查客户端地址是否与 CN 匹配,还是只是检查证书与密钥匹配并且证书在客户端是受信任的?即,如果我从互联网上的任何机器上使用正确的客户端密钥/证书,如果服务器配置为信任该证书,服务器是否应该连接,或者它是否需要客户端以某种方式位于特定地址?
【问题讨论】:
-
TLS 和 HTTPS 是不同的协议。 HTTPS 使用 TLS。 TLS不指定上层协议应该如何确认对等体的身份,它只是提供应该被更高层协议利用的经过验证的证书。 HTTPS 就是这样做的,要求客户端用于建立连接的主机名是证书中的主题 alt 名称之一(暂时不推荐使用 CN 用于此目的)。它没有指定当客户端使用证书进行身份验证时应该发生什么。这取决于服务器配置/代码。
-
感谢@PresidentJamesK.Polk,所以如果我理解正确,如果我被告知有一个 mTLS 服务器设置,它可能无论如何都不会检查客户端地址,它只是检查证书是否受信任并由客户私钥?