[8u] RFR 8035166: Remove dependency on EC classes from pkcs11 provider
Alexander Scherbatiy
alexander.scherbatiy at bell-sw.com
Fri Dec 4 09:47:28 UTC 2020
On 12/3/20 8:30 PM, Andrew Hughes wrote:
> On 16:36 Thu 03 Dec , Andrew Hughes wrote:
>> On 19:30 Thu 03 Dec , Alexander Scherbatiy wrote:
>>> Hello,
>>>
>>> Could you review the backport of JDK-8035166 to 8u.
>>> This backport was requested during review [1] of
>>> JDK-8233228 Disable weak named curves by default in TLS, CertPath, and
>>> Signed JAR
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8035166
>>> 11u patch: https://hg.openjdk.java.net/jdk-updates/jdk11u/rev/daa21271c03b
>>> 8u webrev: http://cr.openjdk.java.net/~alexsch/sercher/8035166/webrev.00
>>>
>>> The classes ECParameters, NamedCurve, and CurveDB needs to be moved from
>>> sun.security.ec package
>>> to sun.security.util for JDK-8233228 because sun.security.ec is placed in
>>> sunec.jar and these classes are not accessible
>>> from ConstraintsParameters, DisabledAlgorithmConstraints which are stored in
>>> rt.jar.
>>>
>>> 8035166 backport to 8u (compared to 11u):
>>> * Manual merge in ConstraintsParameters.java (XECKey, NamedParameterSpec are
>>> not available in 8u).
>>> * files java.security-<platform> are separate in each platform, applied
>>> identical changes in all
>>> * context differences in multiple files
>>>
> ^ This is JDK-8233228, isn't it? Those files aren't touched by JDK-8035166.
Sorry.
Here's the summary of conflicts resolved (compared to 11u version)
* the patch doesn't apply to DOMKeyValue.java, as it doesn't access
ECParameters class.
* SupportedEllipticCurvesExtension.java is not present in 8u
* context difference in ECKeyPairGenerator.java, SunPKCS11.java
* copyright note in CurveDB is already up to date
>
>>> The tests compact3, java_security, java_security_infra, needs_jdk, and
>>> needs_jre were run.
>>>
>>> In total they contain the following security and crypto tests:
>>> sun/security/tools/jarsigner/*
>>> com/sun/crypto/provider/*
>>> com/sun/security/*
>>> java/security/*
>>> javax/crypto/*
>>> javax/net/ssl/*
>>> javax/security/*
>>> javax/xml/crypto/*
>>> sun/security/*
>>> security/infra/java/security/*
>>>
>>> The are no new failures comparing to the build without the fix.
>>>
>>> [1]
>>> https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-December/013164.html
>>>
>>> Thanks,
>>> Alexander.
>>>
>> It's still not been explained why these changes are required for JDK-8233228.
>> Can you please answer that question? There may be no need for this backport
>> if JDK-8233228 can be done another way.
>>
>> Thanks,
>> --
>> Andrew :)
>>
>> Senior Free Java Software Engineer
>> OpenJDK Package Owner
>> Red Hat, Inc. (http://www.redhat.com)
>>
>> PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
>> Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222
> Sorry, missed your explaination on first glance at this.
>
> The patch looks fine. The omission of the DOMKeyValue changes is
> correct, as they were removed by 8046724: "XML Signature ECKeyValue
> elements cannot be marshalled or unmarshalled". The omission of the
> SSL change is correct, as it seems the TLSv1.3 import is already
> referring to a sun.security.util.CurveDB that doesn't yet exist! [0]
>
> Please flag the bug with jdk8u-fix-request. This is not a regression
> fix and so is not suitable for 8u282 during rampdown. Such labels
> should also not be applied before review is complete.
Thank you for the review. The jdk8u-fix-request flag has been added to
the JDK-8035166.
Thanks,
Alexander.
>
> [0] https://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes/sun/security/ssl/SupportedGroupsExtension.java#l181
>
> Thanks,
More information about the jdk8u-dev
mailing list