Skip to content

Commit db32ccd

Browse files
committed
fixed ellipticcurve getting serialised with dragonfly
1 parent 8c93401 commit db32ccd

File tree

3 files changed

+12
-19
lines changed

3 files changed

+12
-19
lines changed

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

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,6 @@ public static PWDKeyMaterial generateKeyMaterial(EllipticCurve curve, Point pass
186186
return keyMaterial;
187187
}
188188

189-
@XmlTransient
190-
private EllipticCurve curve;
191-
192189
/**
193190
* shared secret derived from the shared password between server and client
194191
*/
@@ -204,14 +201,6 @@ public static PWDKeyMaterial generateKeyMaterial(EllipticCurve curve, Point pass
204201
public void setSecretsInConfig(Config config) {
205202
}
206203

207-
public void setCurve(EllipticCurve curve) {
208-
this.curve = curve;
209-
}
210-
211-
public EllipticCurve getCurve() {
212-
return curve;
213-
}
214-
215204
public Point getPasswordElement() {
216205
return passwordElement;
217206
}

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/preparator/PWDClientKeyExchangePreparator.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public PWDClientKeyExchangePreparator(Chooser chooser, PWDClientKeyExchangeMessa
4242
public void prepareHandshakeMessageContents() {
4343
LOGGER.debug("Preparing PWDClientKeyExchangeMessage");
4444
msg.prepareComputations();
45-
msg.getComputations().setCurve(CurveFactory.getCurve(chooser.getSelectedNamedGroup()));
45+
EllipticCurve curve = CurveFactory.getCurve(chooser.getSelectedNamedGroup());
4646
LOGGER.debug(chooser.getSelectedNamedGroup().getJavaName());
4747

4848
try {
@@ -52,7 +52,7 @@ public void prepareHandshakeMessageContents() {
5252
}
5353
prepareScalarElement(msg);
5454
byte[] premasterSecret = generatePremasterSecret(msg.getComputations().getPasswordElement(), msg
55-
.getComputations().getPrivateKeyScalar(), msg.getComputations().getCurve());
55+
.getComputations().getPrivateKeyScalar(), curve);
5656
preparePremasterSecret(msg, premasterSecret);
5757
prepareClientServerRandom(msg);
5858
}
@@ -61,15 +61,17 @@ public void prepareHandshakeMessageContents() {
6161
public void prepareAfterParse(boolean clientMode) {
6262
if (!clientMode) {
6363
msg.prepareComputations();
64+
EllipticCurve curve = CurveFactory.getCurve(chooser.getSelectedNamedGroup());
6465
byte[] premasterSecret = generatePremasterSecret(chooser.getContext().getPWDPE(), chooser.getContext()
65-
.getServerPWDPrivate(), msg.getComputations().getCurve());
66+
.getServerPWDPrivate(), curve);
6667
preparePremasterSecret(msg, premasterSecret);
6768
prepareClientServerRandom(msg);
6869
}
6970
}
7071

7172
protected void preparePasswordElement(PWDClientKeyExchangeMessage msg) throws CryptoException {
72-
Point passwordElement = PWDComputations.computePasswordElement(chooser, msg.getComputations().getCurve());
73+
EllipticCurve curve = CurveFactory.getCurve(chooser.getSelectedNamedGroup());
74+
Point passwordElement = PWDComputations.computePasswordElement(chooser, curve);
7375
msg.getComputations().setPasswordElement(passwordElement);
7476

7577
LOGGER.debug("PasswordElement.x: "
@@ -117,7 +119,7 @@ protected List<ECPointFormat> getPointFormatList() {
117119
}
118120

119121
protected void prepareScalarElement(PWDClientKeyExchangeMessage msg) {
120-
EllipticCurve curve = msg.getComputations().getCurve();
122+
EllipticCurve curve = CurveFactory.getCurve(chooser.getSelectedNamedGroup());
121123
PWDComputations.PWDKeyMaterial keyMaterial = PWDComputations.generateKeyMaterial(curve, msg.getComputations()
122124
.getPasswordElement(), chooser);
123125

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/preparator/PWDServerKeyExchangePreparator.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void prepareHandshakeMessageContents() {
4646
msg.prepareComputations();
4747
prepareCurveType(msg);
4848
NamedGroup group = selectNamedGroup(msg);
49-
msg.getComputations().setCurve(CurveFactory.getCurve(group));
49+
EllipticCurve curve = CurveFactory.getCurve(group);
5050
msg.setNamedGroup(group.getValue());
5151
prepareSalt(msg);
5252
prepareSaltLength(msg);
@@ -60,7 +60,9 @@ public void prepareHandshakeMessageContents() {
6060
}
6161

6262
protected void preparePasswordElement(PWDServerKeyExchangeMessage msg) throws CryptoException {
63-
Point passwordElement = PWDComputations.computePasswordElement(chooser, msg.getComputations().getCurve());
63+
NamedGroup group = selectNamedGroup(msg);
64+
EllipticCurve curve = CurveFactory.getCurve(selectNamedGroup(msg));
65+
Point passwordElement = PWDComputations.computePasswordElement(chooser, curve);
6466
msg.getComputations().setPasswordElement(passwordElement);
6567

6668
LOGGER.debug("PasswordElement.x: "
@@ -150,7 +152,7 @@ protected List<ECPointFormat> getPointFormatList() {
150152
}
151153

152154
protected void prepareScalarElement(PWDServerKeyExchangeMessage msg) {
153-
EllipticCurve curve = msg.getComputations().getCurve();
155+
EllipticCurve curve = CurveFactory.getCurve(selectNamedGroup(msg));
154156
PWDComputations.PWDKeyMaterial keyMaterial = PWDComputations.generateKeyMaterial(curve, msg.getComputations()
155157
.getPasswordElement(), chooser);
156158

0 commit comments

Comments
 (0)