mirror of
https://github.com/openjdk/jdk19u.git
synced 2025-12-11 00:58:35 -06:00
8287411: Enhance DTLS performance
Backport-of: 911c24564444096c0c98f6dc308220d48b42d6d3
This commit is contained in:
parent
b2e8d18fed
commit
9738f8a07b
@ -1379,25 +1379,30 @@ final class ClientHello {
|
||||
shc.resumingSession = resumingSession ? previous : null;
|
||||
}
|
||||
|
||||
HelloCookieManager hcm =
|
||||
shc.sslContext.getHelloCookieManager(ProtocolVersion.DTLS10);
|
||||
if (!shc.isResumption &&
|
||||
!hcm.isCookieValid(shc, clientHello, clientHello.cookie)) {
|
||||
//
|
||||
// Perform cookie exchange for DTLS handshaking if no cookie
|
||||
// or the cookie is invalid in the ClientHello message.
|
||||
//
|
||||
// update the responders
|
||||
shc.handshakeProducers.put(
|
||||
SSLHandshake.HELLO_VERIFY_REQUEST.id,
|
||||
SSLHandshake.HELLO_VERIFY_REQUEST);
|
||||
|
||||
//
|
||||
// produce response handshake message
|
||||
//
|
||||
SSLHandshake.HELLO_VERIFY_REQUEST.produce(context, clientHello);
|
||||
// We will by default exchange DTLS cookies for all handshakes
|
||||
// (new and resumed) unless jdk.tls.enableDtlsResumeCookie=false.
|
||||
// The property only affects the cookie exchange for resumption.
|
||||
if (!shc.isResumption || SSLConfiguration.enableDtlsResumeCookie) {
|
||||
HelloCookieManager hcm =
|
||||
shc.sslContext.getHelloCookieManager(ProtocolVersion.DTLS10);
|
||||
if (!hcm.isCookieValid(shc, clientHello, clientHello.cookie)) {
|
||||
//
|
||||
// Perform cookie exchange for DTLS handshaking if no cookie
|
||||
// or the cookie is invalid in the ClientHello message.
|
||||
//
|
||||
// update the responders
|
||||
shc.handshakeProducers.put(
|
||||
SSLHandshake.HELLO_VERIFY_REQUEST.id,
|
||||
SSLHandshake.HELLO_VERIFY_REQUEST);
|
||||
|
||||
return;
|
||||
//
|
||||
// produce response handshake message
|
||||
//
|
||||
SSLHandshake.HELLO_VERIFY_REQUEST.produce(context, clientHello);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// cache the client random number for further using
|
||||
|
||||
@ -109,6 +109,9 @@ final class SSLConfiguration implements Cloneable {
|
||||
static final int maxCertificateChainLength = GetIntegerAction.privilegedGetProperty(
|
||||
"jdk.tls.maxCertificateChainLength", 10);
|
||||
|
||||
static final boolean enableDtlsResumeCookie = Utilities.getBooleanProperty(
|
||||
"jdk.tls.enableDtlsResumeCookie", true);
|
||||
|
||||
// Is the extended_master_secret extension supported?
|
||||
static {
|
||||
boolean supportExtendedMasterSecret = Utilities.getBooleanProperty(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user