Skip to content

TLS resumption: bound session lineage by certificate validity #1017

Description

@dkropachev

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions