diff --git a/clients/src/main/java/org/apache/kafka/common/network/SslTransportLayer.java b/clients/src/main/java/org/apache/kafka/common/network/SslTransportLayer.java index b9879ad..7464488 100644 --- a/clients/src/main/java/org/apache/kafka/common/network/SslTransportLayer.java +++ b/clients/src/main/java/org/apache/kafka/common/network/SslTransportLayer.java @@ -581,7 +581,8 @@ public class SslTransportLayer implements TransportLayer { // handle ssl renegotiation. if (unwrapResult.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING && unwrapResult.getHandshakeStatus() != HandshakeStatus.FINISHED && - unwrapResult.getStatus() == Status.OK) { + unwrapResult.getStatus() == Status.OK && + !sslEngine.getSession().getProtocol().equals("TLSv1.3")) { log.error("Renegotiation requested, but it is not supported, channelId {}, " + "appReadBuffer pos {}, netReadBuffer pos {}, netWriteBuffer pos {} handshakeStatus {}", channelId, appReadBuffer.position(), netReadBuffer.position(), netWriteBuffer.position(), unwrapResult.getHandshakeStatus()); @@ -700,7 +701,8 @@ public class SslTransportLayer implements TransportLayer { netWriteBuffer.flip(); //handle ssl renegotiation - if (wrapResult.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING && wrapResult.getStatus() == Status.OK) + if (wrapResult.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING && wrapResult.getStatus() == Status.OK && + !sslEngine.getSession().getProtocol().equals("TLSv1.3")) throw renegotiationException(); if (wrapResult.getStatus() == Status.OK) {