Skip to content

Commit 1c0d331

Browse files
committed
DTLS version guard when setting tls-unique
1 parent 3a93977 commit 1c0d331

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

tls/src/main/java/org/bouncycastle/tls/DTLSClientProtocol.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ protected DTLSTransport clientHandshake(ClientHandshakeState state)
152152

153153
handshake.finish();
154154

155-
if (securityParameters.isExtendedMasterSecret())
155+
if (securityParameters.isExtendedMasterSecret() &&
156+
ProtocolVersion.DTLSv12.isEqualOrLaterVersionOf(securityParameters.getNegotiatedVersion()))
156157
{
157158
securityParameters.tlsUnique = securityParameters.getPeerVerifyData();
158159
}
@@ -380,7 +381,10 @@ protected DTLSTransport clientHandshake(ClientHandshakeState state)
380381

381382
state.tlsSession = TlsUtils.importSession(securityParameters.getSessionID(), state.sessionParameters);
382383

383-
securityParameters.tlsUnique = securityParameters.getLocalVerifyData();
384+
if (ProtocolVersion.DTLSv12.isEqualOrLaterVersionOf(securityParameters.getNegotiatedVersion()))
385+
{
386+
securityParameters.tlsUnique = securityParameters.getLocalVerifyData();
387+
}
384388

385389
clientContext.handshakeComplete(client, state.tlsSession);
386390

tls/src/main/java/org/bouncycastle/tls/DTLSServerProtocol.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ protected DTLSTransport serverHandshake(ServerHandshakeState state, DTLSRequest
161161

162162
handshake.finish();
163163

164-
if (securityParameters.isExtendedMasterSecret())
164+
if (securityParameters.isExtendedMasterSecret() &&
165+
ProtocolVersion.DTLSv12.isEqualOrLaterVersionOf(securityParameters.getNegotiatedVersion()))
165166
{
166167
securityParameters.tlsUnique = securityParameters.getLocalVerifyData();
167168
}
@@ -409,7 +410,10 @@ protected DTLSTransport serverHandshake(ServerHandshakeState state, DTLSRequest
409410

410411
state.tlsSession = TlsUtils.importSession(securityParameters.getSessionID(), state.sessionParameters);
411412

412-
securityParameters.tlsUnique = securityParameters.getPeerVerifyData();
413+
if (ProtocolVersion.DTLSv12.isEqualOrLaterVersionOf(securityParameters.getNegotiatedVersion()))
414+
{
415+
securityParameters.tlsUnique = securityParameters.getPeerVerifyData();
416+
}
413417

414418
serverContext.handshakeComplete(server, state.tlsSession);
415419

0 commit comments

Comments
 (0)