Some files have trailing spaces.

KnownOIDs.java:

 - Is there an order for the fields? I see they are grouped but now always 
ordered.

 - Unused "import java.security.Provider;"

 - 1.3.14.3.2.29 used to be an alias for SHA1withRSA, now it's not. Is this 
intended?

 - s/_/-/ in process() is now used for

     SHA3_224 -> SHA3-224
     SHA3_256 -> SHA3-256
     SHA3_384 -> SHA3-384
     SHA3_512 -> SHA3-512
     HmacSHA3_224 -> HmacSHA3-224
     HmacSHA3_256 -> HmacSHA3-256
     HmacSHA3_384 -> HmacSHA3-384
     HmacSHA3_512 -> HmacSHA3-512
     SHA3_224withRSA -> SHA3-224withRSA
     SHA3_256withRSA -> SHA3-256withRSA
     SHA3_384withRSA -> SHA3-384withRSA
     SHA3_512withRSA -> SHA3-512withRSA
     RSASSA_PSS -> RSASSA-PSS
     CHACHA20_POLY1305 -> CHACHA20-POLY1305

  Can we just hardcode the stdName in constructor and remove the substitution? 
It looks fragile and expensive to me. What if we invent a name like 
AES_128overSHA3_256?

 - Now that you've added EC curve names starting with a lowercase letter, can 
we also use "serverAuth"?

 - I wonder if we can split the aliases by hand, i.e. modify

     secp256r1("1.2.840.10045.3.1.7",
            "secp256r1 [NIST P-256, X9.62 prime256v1]"),

   to

     secp256r1("1.2.840.10045.3.1.7",
            "secp256r1", "NIST P-256", "X9.62 prime256v1"),

   After all the names will be split into pieces, and we can also use KnownOIDs 
inside NamedCurve.

PBES2Parameters.java:

 - It's a little pity we need to hardcode several names here. Is 
'o.stdName().startsWith("HmacSHA")' enough? This looks like a hack but can save 
us some hassle if we support more later.

Everything else looks fine.

Thanks,
Max



> On May 12, 2020, at 9:25 AM, Valerie Peng <valerie.p...@oracle.com> wrote:
> 
> Thanks for filing the bug for PBES2Parameters class.
> 
> Webrev for 8242151 is updated at: 
> http://cr.openjdk.java.net/~valeriep/8242151/webrev.03/
> 
> It addresses:
> 
> - added KnownOIDs for CurveDB class
> - updated the KDF parsing code in PBES2Parameters class to match existing 
> behavior
> - removed the String constants of PKCS9Attribute class and commented out its 
> constructor which takes String argument
> - use 3rd party aliasing info in AlgorithmId.getName() impl
> - misc changes to KnownOIDs class regarding the register() impl
> 
> Thanks,
> 
> Valerie
> 
> On 5/6/2020 6:59 PM, Weijun Wang wrote:
>>> It seems that existing impl of PBES2Parameters class only enforces that the 
>>> KDF algo is one of the HmacSHAxxx. But it does not throw exception if the 
>>> instance is requested with "PBEWithHmacSHA256AndAES_256" and then 
>>> initialized with DER encoding containing "PBEWithHmacSHA512AndAES_256". 
>>> Perhaps it should be further tightened up?
>> I think so. There is a general "PBES2" that allows filling in the algorithms 
>> at init() but if they are already inside the algorithm name, then only the 
>> same can appear in the encoding.
>> 
>> Filed https://bugs.openjdk.java.net/browse/JDK-8244564. Maybe we will 
>> backport it.
>> 
>> --Max
>> 

Reply via email to