Hi

This change is to improve TLS 1.3 session resumption by allowing a TLS server 
to send more than one resumption ticket per connection and clients to store 
more.  Resumption is a quick way to use an existing TLS session to establish 
another session by avoiding the long TLS full handshake process.  In TLS 1.2 
and below, clients can repeatedly resume a session by using the session ID from 
an established connection.  In TLS 1.3, a one-time "resumption ticket" is sent 
by the server after the TLS connection has been established.  The server may 
send multiple resumption tickets to help clients that rapidly resume 
connections.  If the client does not have another resumption ticket, it must go 
through the full TLS handshake again.  The current implementation in JDK 23 and 
below, only sends and store one resumption ticket.

The number of resumption tickets a server can send should be configurable by 
the application developer or administrator. [RFC 
8446](https://www.rfc-editor.org/rfc/rfc8446) does not specify a default value. 
 A system property called `jdk.tls.server.newSessionTicketCount` allows the 
user to change the number of resumption tickets sent by the server.  If this 
property is not set or given an invalid value, the default value of 3 is used. 
Further details are in the CSR.

A large portion of the changeset is on the client side by changing the caching 
system used by TLS.  It creates a new `CacheEntry<>` type called 
`QueueCacheEntry<>` that will store multiple values for a Map entry.

-------------

Commit messages:
 - Merge branch 'master' into nst-multi
 - copyright & cleanup
 - oops BAOS
 - Fix Windows networking problem
 - Updates for debug
 - more cleanup, more comments
 - Cleanup, synchronizing, and docs
 - merge back into Cache.java
 - remove commented out code
 - udpates
 - ... and 4 more: https://git.openjdk.org/jdk/compare/301bd708...fc7c5419

Changes: https://git.openjdk.org/jdk/pull/19465/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19465&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8328608
  Stats: 642 lines in 8 files changed: 507 ins; 54 del; 81 mod
  Patch: https://git.openjdk.org/jdk/pull/19465.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19465/head:pull/19465

PR: https://git.openjdk.org/jdk/pull/19465

Reply via email to