如果证书 CN 与服务器的公共 DNS 名称不同,那么 SAN 是可行的方法吗?

如果证书 CN 与服务器的公共 DNS 名称不同,那么 SAN 是可行的方法吗?

我知道,为了使 SSL 握手成功,主机名验证必不可少,出于安全原因(即 MiTM 攻击),主机名验证也至关重要。也就是说,AWS 会自动为 EC2 实例分配公共 DNS 名称,并且公司通常希望使用与其公司更相关的 CN(即 dev.contoso.com)为 Web 服务生成证书。客户端将通过 dev.contoso.com 访问此服务。

如果是这样的话,我的理解是,在 SSL 握手中,EC2 会提供一个名为 dev.contoso.com 的证书,但实际的服务器名称将是 ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com 这样的格式。这会导致主机名验证失败……对吗?即使服务器是由客户端已经信任的 CA 签名的。

这里正确的解决方案是使用 SAN 并简单地在证书中指定所需的主机名作为备用名称,还是有更可取的解决方案。如果我错了,请纠正我对这个过程的理解。

相关内容