Follow-up to #789 and #426.
TLS sessions can remain resumable after certificates from the authenticating full handshake expire. Reproduced with TLS 1.2 and TLS 1.3: after certificate expiry, a resumed connection succeeds while a cache-disabled full handshake fails with CERTIFICATE_VERIFY_FAILED. The same occurs with mTLS client-certificate expiry.
TLS 1.3 can renew a ticket on each resumed handshake, repeatedly resetting the per-ticket deadline and extending one certificate-authenticated lineage indefinitely.
Decide and document driver policy, then implement one of:
- cap lineage at peer certificate validity and a bounded reauthentication interval;
- expose a configurable maximum lineage lifetime; or
- explicitly document server-controlled authentication lifetime and operational invalidation requirements.
Add TLS 1.2, TLS 1.3, and mTLS expiry coverage. RFC 5246 Appendix F.1.4 and RFC 8446 Section 4.6.1 provide relevant guidance.
Follow-up to #789 and #426.
TLS sessions can remain resumable after certificates from the authenticating full handshake expire. Reproduced with TLS 1.2 and TLS 1.3: after certificate expiry, a resumed connection succeeds while a cache-disabled full handshake fails with
CERTIFICATE_VERIFY_FAILED. The same occurs with mTLS client-certificate expiry.TLS 1.3 can renew a ticket on each resumed handshake, repeatedly resetting the per-ticket deadline and extending one certificate-authenticated lineage indefinitely.
Decide and document driver policy, then implement one of:
Add TLS 1.2, TLS 1.3, and mTLS expiry coverage. RFC 5246 Appendix F.1.4 and RFC 8446 Section 4.6.1 provide relevant guidance.