1

对于普通的 TLS,客户端将检查我正在与之通信的服务器实际上是否在与 CN 匹配的 FQDN 上,因此如果证书用于不同的域,则默认情况下 TLS 不应工作,因为证书不适用于此站点。

对于mTLS,当服务器检查客户端证书时,它可以以某种方式检查客户端地址是否与CN匹配,还是只是检查证书与密钥匹配并且证书在客户端是受信任的?即,如果我从互联网上的任何机器使用正确的客户端密钥/证书,如果服务器配置为信任该证书,服务器是否应该连接,或者它是否需要客户端以某种方式位于特定地址?

4

1 回答 1

2

这取决于具体的用例。

在某些情况下,mTLS 用于服务器到服务器的通信,例如 SIP (VoIP)。在这些情况下,通常期望客户端证书包含发送者的域,类似于服务器证书。以 SIP 为例:这里不同的系统也可以切换角色(即两个站点都可以发起呼叫),以前的客户端证书现在用作服务器证书。

在其他情况下,不会在 TLS 握手期间验证主题,但会从证书主题中提取用户身份并将其提供给应用程序。然后,应用程序可能会执行其他检查,例如仅允许来自特定组织的用户在主题中进行编码。因此,即使在 TLS 握手期间未在证书验证中使用该主题,它仍然是相关的。

于 2021-10-12T02:15:43.973 回答