Skip to content

Commit 2148311

Browse files
authored
Merge pull request #389 from RUB-NDS/Tls13HandshakeFix
Tls13 1-RTT handshake fix
2 parents bb65442 + 5c9912d commit 2148311

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/handler/FinishedHandler.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import de.rub.nds.modifiablevariable.util.ArrayConverter;
1212
import de.rub.nds.tlsattacker.core.constants.AlgorithmResolver;
1313
import de.rub.nds.tlsattacker.core.constants.DigestAlgorithm;
14+
import de.rub.nds.tlsattacker.core.constants.ExtensionType;
1415
import de.rub.nds.tlsattacker.core.constants.HKDFAlgorithm;
1516
import de.rub.nds.tlsattacker.core.constants.Tls13KeySetType;
1617
import de.rub.nds.tlsattacker.core.crypto.HKDFunction;
@@ -60,7 +61,8 @@ public void adjustTLSContext(FinishedMessage message) {
6061
} else {
6162
setClientRecordCipher(Tls13KeySetType.APPLICATION_TRAFFIC_SECRETS);
6263
}
63-
} else if (tlsContext.getChooser().getConnectionEndType() == ConnectionEndType.CLIENT) {
64+
} else if (tlsContext.getChooser().getConnectionEndType() == ConnectionEndType.CLIENT
65+
|| tlsContext.isExtensionNegotiated(ExtensionType.EARLY_DATA) == false) {
6466
setClientRecordCipher(Tls13KeySetType.HANDSHAKE_TRAFFIC_SECRETS);
6567
}
6668
}

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/message/ClientHelloMessage.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,6 @@ public ClientHelloMessage(Config tlsConfig) {
131131
if (tlsConfig.isAddPSKKeyExchangeModesExtension()) {
132132
addExtension(new PSKKeyExchangeModesExtensionMessage(tlsConfig));
133133
}
134-
if (tlsConfig.isAddPreSharedKeyExtension()) {
135-
addExtension(new PreSharedKeyExtensionMessage(tlsConfig));
136-
}
137134
if (tlsConfig.isAddExtendedMasterSecretExtension()) {
138135
addExtension(new ExtendedMasterSecretExtensionMessage());
139136
}
@@ -200,6 +197,10 @@ public ClientHelloMessage(Config tlsConfig) {
200197
if (tlsConfig.isAddCertificateStatusRequestV2Extension()) {
201198
addExtension(new CertificateStatusRequestV2ExtensionMessage());
202199
}
200+
if (tlsConfig.isAddPreSharedKeyExtension()) {
201+
addExtension(new PreSharedKeyExtensionMessage(tlsConfig));
202+
}
203+
// In TLS 1.3, the PSK ext has to be the last ClientHello extension
203204
}
204205

205206
public ModifiableInteger getCompressionLength() {

0 commit comments

Comments
 (0)