大家好,有个小问题.假设我通过SSL连接到一个服务器。现在假设当我连接时证书过期。连接会关闭还是什么都不会发生?我认为什么都不会发生,但我不是100%肯定。
dced5bon1#
这取决于客户端实现。但是,由于在TLS/SSL握手期间检查证书的有效性,连接可能会保持活动状态,这在会话开始时打开连接时发生一次。
olhwl3o22#
在连接开始时将检查证书的有效性,如果任一方请求完全握手,则在连接期间(或共享同一会话的后续连接期间)将再次检查证书的有效性,这通常仅用于升级密码套件、请求客户端证书等。
yptwkmov3#
要扩展其他答案:证书只会在一次完整的握手中被检查。2通常每个TCP连接最多只会进行一次完整的握手(在开始时),但是在重新协商时,可能会进行另一次完整的握手。但在会话恢复时,只有SSL会话中的第一个TCP连接会进行完全握手。这意味着,即使在建立新的TCP连接时,只要在此TCP连接中恢复了现有的SSL会话,它也不会检测到已更改或过期的证书。这背后的原因是:证书用于确保SSL会话是与预期的一方进行的,而不是与某个中间人攻击者进行的。因此,必须在SSL会话开始时检查证书,即,每当完成完全握手时。由于已建立的SSL会话是完整性保护的,因此,中间人篡改连接将被检测到。因此,在SSL会话期间,不需要再次验证证书。
3条答案
按热度按时间dced5bon1#
这取决于客户端实现。
但是,由于在TLS/SSL握手期间检查证书的有效性,连接可能会保持活动状态,这在会话开始时打开连接时发生一次。
olhwl3o22#
在连接开始时将检查证书的有效性,如果任一方请求完全握手,则在连接期间(或共享同一会话的后续连接期间)将再次检查证书的有效性,这通常仅用于升级密码套件、请求客户端证书等。
yptwkmov3#
要扩展其他答案:证书只会在一次完整的握手中被检查。2通常每个TCP连接最多只会进行一次完整的握手(在开始时),但是在重新协商时,可能会进行另一次完整的握手。
但在会话恢复时,只有SSL会话中的第一个TCP连接会进行完全握手。这意味着,即使在建立新的TCP连接时,只要在此TCP连接中恢复了现有的SSL会话,它也不会检测到已更改或过期的证书。
这背后的原因是:证书用于确保SSL会话是与预期的一方进行的,而不是与某个中间人攻击者进行的。因此,必须在SSL会话开始时检查证书,即,每当完成完全握手时。由于已建立的SSL会话是完整性保护的,因此,中间人篡改连接将被检测到。因此,在SSL会话期间,不需要再次验证证书。