Skip to content

Commit e9da6f0

Browse files
committed
json serialization fixes
1 parent 99da67d commit e9da6f0

15 files changed

+132
-7
lines changed

pom.xml

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,27 @@
5555
</properties>
5656

5757
<dependencies>
58+
<dependency>
59+
<groupId>com.fasterxml.jackson.core</groupId>
60+
<artifactId>jackson-annotations</artifactId>
61+
</dependency>
62+
<dependency>
63+
<groupId>com.fasterxml.jackson.core</groupId>
64+
<artifactId>jackson-core</artifactId>
65+
</dependency>
66+
<dependency>
67+
<groupId>com.fasterxml.jackson.core</groupId>
68+
<artifactId>jackson-databind</artifactId>
69+
</dependency>
70+
<dependency>
71+
<groupId>com.fasterxml.jackson.dataformat</groupId>
72+
<artifactId>jackson-dataformat-yaml</artifactId>
73+
</dependency>
5874
<!-- scope: compile -->
5975
<dependency>
6076
<groupId>de.rub.nds</groupId>
6177
<artifactId>modifiable-variable</artifactId>
62-
<version>5.1.2</version>
78+
<version>5.1.3-SNAPSHOT</version>
6379
</dependency>
6480
<dependency>
6581
<groupId>jakarta.xml.bind</groupId>
@@ -106,7 +122,8 @@
106122
<build>
107123
<finalName>ProtocolAttacker</finalName>
108124
<plugins>
109-
<!--################# default lifecycle plugins #################-->
125+
<!--#################
126+
default lifecycle plugins #################-->
110127
<!-- Formatting -->
111128
<plugin>
112129
<groupId>com.diffplug.spotless</groupId>
@@ -182,9 +199,11 @@
182199
<includes>
183200
<include>**/*.java</include>
184201
</includes>
185-
<!-- Allow parallel execution of unit tests (execution in series within test classes) -->
202+
<!-- Allow parallel execution of unit tests (execution in series within test
203+
classes) -->
186204
<parallel>classes</parallel>
187-
<!-- Can be adjusted depending on the local system, 3 should be a fair default value -->
205+
<!-- Can be adjusted depending on the local system, 3 should be a fair default
206+
value -->
188207
<forkCount>3</forkCount>
189208
<reuseForks>true</reuseForks>
190209
<!-- By default we include all but integration tests during surefire execution -->
@@ -241,7 +260,8 @@
241260
<groupId>org.apache.maven.plugins</groupId>
242261
<artifactId>maven-failsafe-plugin</artifactId>
243262
<configuration>
244-
<!-- By default, the Failsafe plugin excludes various files. We have to override that. -->
263+
<!-- By default, the Failsafe plugin excludes various files. We have to override
264+
that. -->
245265
<includes>
246266
<include>**/*.java</include>
247267
</includes>
@@ -266,7 +286,8 @@
266286
</execution>
267287
</executions>
268288
</plugin>
269-
<!--############ plugins without lifecycle bindings #############-->
289+
<!--############
290+
plugins without lifecycle bindings #############-->
270291
<!-- Static code analysis -->
271292
<plugin>
272293
<groupId>com.github.spotbugs</groupId>
@@ -288,7 +309,8 @@
288309
<build>
289310
<pluginManagement>
290311
<plugins>
291-
<!-- Configure Surefire to run SlowTests during integration-test phase to speed up the build process -->
312+
<!-- Configure Surefire to run SlowTests during integration-test phase to
313+
speed up the build process -->
292314
<plugin>
293315
<groupId>org.apache.maven.plugins</groupId>
294316
<artifactId>maven-surefire-plugin</artifactId>

src/main/java/de/rub/nds/protocol/crypto/key/DhPrivateKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ public class DhPrivateKey implements PrivateKeyContainer {
1717

1818
private FfdhGroupParameters parameters;
1919

20+
@SuppressWarnings("unused")
21+
// Default constructor for deserialization
22+
private DhPrivateKey() {
23+
// Default constructor for deserialization
24+
this.privateKey = null;
25+
this.parameters = null;
26+
}
27+
2028
public DhPrivateKey(BigInteger privateKey, FfdhGroupParameters parameters) {
2129
this.privateKey = privateKey;
2230
this.parameters = parameters;

src/main/java/de/rub/nds/protocol/crypto/key/DhPublicKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ public class DhPublicKey implements PublicKeyContainer {
1919

2020
private BigInteger publicKey;
2121

22+
@SuppressWarnings("unused")
23+
// Default constructor for deserialization
24+
private DhPublicKey() {
25+
// Default constructor for deserialization
26+
this.parameters = null;
27+
this.publicKey = null;
28+
}
29+
2230
public DhPublicKey(BigInteger publicKey, BigInteger generator, BigInteger modulus) {
2331
this.parameters = new ExplicitFfdhGroupParameters(generator, modulus);
2432
this.publicKey = publicKey;

src/main/java/de/rub/nds/protocol/crypto/key/DsaPrivateKey.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@ public class DsaPrivateKey implements PrivateKeyContainer {
1717
private BigInteger K;
1818
private DsaParameters dsaParameters;
1919

20+
@SuppressWarnings("unused")
21+
// Default constructor for deserialization
22+
private DsaPrivateKey() {
23+
// Default constructor for deserialization
24+
this.X = null;
25+
this.K = null;
26+
this.dsaParameters = null;
27+
}
28+
2029
/**
2130
* Create a DSA private key with explicit parameters
2231
*

src/main/java/de/rub/nds/protocol/crypto/key/DsaPublicKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ public class DsaPublicKey implements PublicKeyContainer {
1818
private BigInteger Y;
1919
private DsaParameters dsaParameters;
2020

21+
@SuppressWarnings("unused")
22+
// Default constructor for deserialization
23+
private DsaPublicKey() {
24+
// Default constructor for deserialization
25+
this.Y = null;
26+
this.dsaParameters = null;
27+
}
28+
2129
/**
2230
* Create a DSA public key with explicit parameters
2331
*

src/main/java/de/rub/nds/protocol/crypto/key/EcdhPrivateKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ public class EcdhPrivateKey implements PrivateKeyContainer {
1717

1818
private NamedEllipticCurveParameters parameters;
1919

20+
@SuppressWarnings("unused")
21+
// Default constructor for deserialization
22+
private EcdhPrivateKey() {
23+
// Default constructor for deserialization
24+
this.privateKey = null;
25+
this.parameters = null;
26+
}
27+
2028
public EcdhPrivateKey(BigInteger privateKey, NamedEllipticCurveParameters parameters) {
2129
this.privateKey = privateKey;
2230
this.parameters = parameters;

src/main/java/de/rub/nds/protocol/crypto/key/EcdhPublicKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ public class EcdhPublicKey implements PublicKeyContainer {
1919

2020
private NamedEllipticCurveParameters parameters;
2121

22+
@SuppressWarnings("unused")
23+
// Default constructor for deserialization
24+
private EcdhPublicKey() {
25+
// Default constructor for deserialization
26+
this.publicPoint = null;
27+
this.parameters = null;
28+
}
29+
2230
public EcdhPublicKey(Point publicPoint, NamedEllipticCurveParameters parameters) {
2331
this.publicPoint = publicPoint;
2432
this.parameters = parameters;

src/main/java/de/rub/nds/protocol/crypto/key/EcdsaPrivateKey.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@ public class EcdsaPrivateKey implements PrivateKeyContainer {
1919

2020
private NamedEllipticCurveParameters parameters;
2121

22+
@SuppressWarnings("unused")
23+
// Default constructor for deserialization
24+
private EcdsaPrivateKey() {
25+
// Default constructor for deserialization
26+
this.privateKey = null;
27+
this.nonce = null;
28+
this.parameters = null;
29+
}
30+
2231
public EcdsaPrivateKey(
2332
BigInteger privateKey, BigInteger nonce, NamedEllipticCurveParameters parameters) {
2433
this.privateKey = privateKey;

src/main/java/de/rub/nds/protocol/crypto/key/EcdsaPublicKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ public class EcdsaPublicKey implements PublicKeyContainer {
1818

1919
private NamedEllipticCurveParameters parameters;
2020

21+
@SuppressWarnings("unused")
22+
// Default constructor for deserialization
23+
private EcdsaPublicKey() {
24+
// Default constructor for deserialization
25+
this.publicPoint = null;
26+
this.parameters = null;
27+
}
28+
2129
public EcdsaPublicKey(Point publicPoint, NamedEllipticCurveParameters parameters) {
2230
this.publicPoint = publicPoint;
2331
this.parameters = parameters;

src/main/java/de/rub/nds/protocol/crypto/key/EddsaPrivateKey.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ public class EddsaPrivateKey implements PrivateKeyContainer {
1717

1818
private NamedEllipticCurveParameters parameters;
1919

20+
@SuppressWarnings("unused")
21+
// Default constructor for deserialization
22+
private EddsaPrivateKey() {
23+
// Default constructor for deserialization
24+
this.privateKey = null;
25+
this.parameters = null;
26+
}
27+
2028
public EddsaPrivateKey(BigInteger privateKey, NamedEllipticCurveParameters parameters) {
2129
this.privateKey = privateKey;
2230
this.parameters = parameters;

0 commit comments

Comments
 (0)