Skip to content

Commit a9e1741

Browse files
committed
#1298: fix issue about EC Key Pair with java 15 or higher
1 parent eb6f51c commit a9e1741

File tree

7 files changed

+19
-18
lines changed

7 files changed

+19
-18
lines changed

leshan-integration-tests/src/test/java/org/eclipse/leshan/integration/tests/util/BootstrapIntegrationTestHelper.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ public BootstrapIntegrationTestHelper() {
140140
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
141141

142142
// Create key specs
143-
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(publicX), new BigInteger(publicY)),
144-
parameterSpec);
145-
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(privateS), parameterSpec);
143+
KeySpec publicKeySpec = new ECPublicKeySpec(
144+
new ECPoint(new BigInteger(1, publicX), new BigInteger(1, publicY)), parameterSpec);
145+
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(1, privateS), parameterSpec);
146146

147147
// Get keys
148148
bootstrapServerPublicKey = KeyFactory.getInstance("EC").generatePublic(publicKeySpec);

leshan-integration-tests/src/test/java/org/eclipse/leshan/integration/tests/util/SecureIntegrationTestHelper.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,9 @@ public SecureIntegrationTestHelper() {
165165
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
166166

167167
// Create key specs
168-
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(publicX), new BigInteger(publicY)),
169-
parameterSpec);
170-
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(privateS), parameterSpec);
168+
KeySpec publicKeySpec = new ECPublicKeySpec(
169+
new ECPoint(new BigInteger(1, publicX), new BigInteger(1, publicY)), parameterSpec);
170+
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(1, privateS), parameterSpec);
171171

172172
// Get keys
173173
clientPublicKey = KeyFactory.getInstance("EC").generatePublic(publicKeySpec);
@@ -208,9 +208,9 @@ public SecureIntegrationTestHelper() {
208208
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
209209

210210
// Create key specs
211-
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(publicX), new BigInteger(publicY)),
212-
parameterSpec);
213-
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(privateS), parameterSpec);
211+
KeySpec publicKeySpec = new ECPublicKeySpec(
212+
new ECPoint(new BigInteger(1, publicX), new BigInteger(1, publicY)), parameterSpec);
213+
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(1, privateS), parameterSpec);
214214

215215
// Get keys
216216
serverPublicKey = KeyFactory.getInstance("EC").generatePublic(publicKeySpec);

leshan-server-cf/src/test/java/org/eclipse/leshan/server/californium/LeshanServerBuilderTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ public LeshanServerBuilderTest() {
6464
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
6565

6666
// Create key specs
67-
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(publicX), new BigInteger(publicY)),
68-
parameterSpec);
69-
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(privateS), parameterSpec);
67+
KeySpec publicKeySpec = new ECPublicKeySpec(
68+
new ECPoint(new BigInteger(1, publicX), new BigInteger(1, publicY)), parameterSpec);
69+
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(1, privateS), parameterSpec);
7070

7171
// Get keys
7272
publicKey = KeyFactory.getInstance("EC").generatePublic(publicKeySpec);

leshan-server-cf/src/test/java/org/eclipse/leshan/server/californium/bootstrap/LeshanBootstrapServerBuilderTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ public LeshanBootstrapServerBuilderTest() {
7373
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
7474

7575
// Create key specs
76-
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(publicX), new BigInteger(publicY)),
77-
parameterSpec);
78-
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(privateS), parameterSpec);
76+
KeySpec publicKeySpec = new ECPublicKeySpec(
77+
new ECPoint(new BigInteger(1, publicX), new BigInteger(1, publicY)), parameterSpec);
78+
KeySpec privateKeySpec = new ECPrivateKeySpec(new BigInteger(1, privateS), parameterSpec);
7979

8080
// Get keys
8181
publicKey = KeyFactory.getInstance("EC").generatePublic(publicKeySpec);

leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/servlet/json/JacksonSecurityDeserializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public SecurityInfo deserialize(JsonParser p, DeserializationContext ctxt) throw
9292
algoParameters.init(new ECGenParameterSpec(params));
9393
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
9494

95-
KeySpec keySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(x), new BigInteger(y)),
95+
KeySpec keySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(1, x), new BigInteger(1, y)),
9696
parameterSpec);
9797

9898
key = KeyFactory.getInstance("EC").generatePublic(keySpec);

leshan-server-redis/src/main/java/org/eclipse/leshan/server/redis/serialization/SecurityInfoSerDes.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ public static SecurityInfo deserialize(byte[] data) {
106106
algoParameters.init(new ECGenParameterSpec(params));
107107
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
108108

109-
KeySpec keySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(x), new BigInteger(y)), parameterSpec);
109+
KeySpec keySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(1, x), new BigInteger(1, y)),
110+
parameterSpec);
110111

111112
key = KeyFactory.getInstance("EC").generatePublic(keySpec);
112113

leshan-server-redis/src/test/java/org/eclipse/leshan/server/redis/serialization/SecurityInfoSerDesTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void security_info_rpk_ser_des_then_equal() throws Exception {
5555
ECParameterSpec parameterSpec = algoParameters.getParameterSpec(ECParameterSpec.class);
5656

5757
// Create key specs
58-
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(publicX), new BigInteger(publicY)),
58+
KeySpec publicKeySpec = new ECPublicKeySpec(new ECPoint(new BigInteger(1, publicX), new BigInteger(1, publicY)),
5959
parameterSpec);
6060

6161
SecurityInfo si = SecurityInfo.newRawPublicKeyInfo("myendpoint",

0 commit comments

Comments
 (0)