From a1cebba79dcf29c67543370a149cf753b94c0237 Mon Sep 17 00:00:00 2001 From: johnsjiang Date: Mon, 8 Dec 2025 10:52:21 +0800 Subject: [PATCH 1/2] 8373231: ECDSAOperations::toAffinePoint is redundant --- .../classes/sun/security/ec/ECDSAOperations.java | 12 ++---------- test/jdk/sun/security/ec/ECDSAPrimitive.java | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/java.base/share/classes/sun/security/ec/ECDSAOperations.java b/src/java.base/share/classes/sun/security/ec/ECDSAOperations.java index f58d7d8f2d783..7badcf42d9cbd 100644 --- a/src/java.base/share/classes/sun/security/ec/ECDSAOperations.java +++ b/src/java.base/share/classes/sun/security/ec/ECDSAOperations.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -68,7 +68,7 @@ public byte[] getNonceValue() { public ECDSAOperations(ECOperations ecOps, ECPoint basePoint) { this.ecOps = ecOps; - this.basePoint = toAffinePoint(basePoint, ecOps.getField()); + this.basePoint = AffinePoint.fromECPoint(basePoint, ecOps.getField()); } public ECOperations getEcOperations() { @@ -79,14 +79,6 @@ public AffinePoint basePointMultiply(byte[] scalar) { return ecOps.multiply(basePoint, scalar).asAffine(); } - public static AffinePoint toAffinePoint(ECPoint point, - IntegerFieldModuloP field) { - - ImmutableIntegerModuloP affineX = field.getElement(point.getAffineX()); - ImmutableIntegerModuloP affineY = field.getElement(point.getAffineY()); - return new AffinePoint(affineX, affineY); - } - public static Optional forParameters(ECParameterSpec ecParams) { Optional curveOps = diff --git a/test/jdk/sun/security/ec/ECDSAPrimitive.java b/test/jdk/sun/security/ec/ECDSAPrimitive.java index 71e2e30044b8f..b8901a784ff3c 100644 --- a/test/jdk/sun/security/ec/ECDSAPrimitive.java +++ b/test/jdk/sun/security/ec/ECDSAPrimitive.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -249,7 +249,7 @@ private static boolean verifySignedDigestImpl(ECDSAOperations ops, ECPoint publi byte[] u1Bytes = u1.asByteArray(length); byte[] u2Bytes = u2.asByteArray(length); - AffinePoint publicKeyPoint = ECDSAOperations.toAffinePoint(publicKey, + AffinePoint publicKeyPoint = AffinePoint.fromECPoint(publicKey, ecOps.getField()); MutablePoint R = ecOps.multiply(publicKeyPoint, u2Bytes); AffinePoint a1 = ops.basePointMultiply(u1Bytes); From 1837abec5f90eb727e4f5a6beafbf40013254bad Mon Sep 17 00:00:00 2001 From: johnsjiang Date: Mon, 5 Jan 2026 10:32:34 +0800 Subject: [PATCH 2/2] Add the JBS ID to the test --- test/jdk/sun/security/ec/ECDSAPrimitive.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/sun/security/ec/ECDSAPrimitive.java b/test/jdk/sun/security/ec/ECDSAPrimitive.java index b8901a784ff3c..3ad40b0ed3dbc 100644 --- a/test/jdk/sun/security/ec/ECDSAPrimitive.java +++ b/test/jdk/sun/security/ec/ECDSAPrimitive.java @@ -36,7 +36,7 @@ /* * @test - * @bug 8189189 8147502 8295010 + * @bug 8189189 8147502 8295010 8373231 * @summary Test ECDSA primitive operations * @library /test/lib * @modules java.base/sun.security.ec java.base/sun.security.ec.point