RFR 8171279: Support X25519 and X448 in TLS 1.3

Adam Petcher adam.petcher at oracle.com
Thu Sep 6 17:17:44 UTC 2018


Minor correction below.


On 9/6/2018 1:04 PM, Adam Petcher wrote:
>
>>
>>>
>>> In the latest webrev, I changed it so there is a single static 
>>> NamedGroupFunctions of each type, and the NamedGroup is passed in as 
>>> the first argument to each method that requires it (rather than 
>>> being a member of NamedGroupFunctions).
>>>
>> After the re-org, I guess you can put the inner classes in NamedGroup 
>> enum and declare them as private?  The getFunctions() method may be 
>> unnecessary then.
>
> I don't know if that works, exactly, due to the fact that I can't 
> reference static enum members in the body of an enum constructor. How 
> about this alternative? I can move the NamedGroup enum and all the 
> NamedGroupFunction classes into a separate class (in a separate file) 
> called NamedGroups. Then all the NamedGroupFunction classes can be 
> private in this class, but the NamedGroup enum can still have package 
> access. I would prefer to leave the getFunctions() method of 
> NamedGroup (and keep it private) because the functions object may be 
> missing and the Optional return type of getFunctions() forces me to 
> deal with this when I call it from within NamedGroup.
>
>
Actually, it does work. I just have to move the static members of each 
NamedGroupFunctions subclass into its subclass (e.g. make them 
singletons). Still, I like my proposed alternative better, because it 
allows us to simplify SupportedGroupsExtension. Let me know if you have 
a preference.



More information about the security-dev mailing list