仅当客户端的信任库中已经存在该域的SSL公共证书时,才可以访问“认证域”。如果没有,客户端应该提示导入服务器证书,而不是自动从tomcat服务器获取证书(通过SSL握手)
答案 0 :(得分:0)
这将不起作用:服务器不知道客户端知道哪些CA证书,因此服务器无法决定向客户端发送什么。另外,服务器只能将证书发送给客户端,而不能使客户端导入新的根CA-无论是否提示。
除此之外,它没有任何意义:TLS / HTTPS的思想是客户端将仅连接到可以验证身份的服务器。如果服务器可以使客户端导入新的受信任的根CA,则攻击者可以这样做,因此中间人攻击是可能的。
如果只是想知道客户端是否将信任特定证书,则可以将与此证书一起提供的资源(图像,脚本...)包含到已知的优质HTML页面中,然后在其中检查一些脚本资源成功加载的页面。此检查还可能导致客户端重定向,例如重定向到描述问题的某个页面并链接到正确的根CA。