I think commenting out the key=value lines in java.security will ensure 
compatibility.

Also, I think it's a tiny bug between

1. KeyStore.java uses "keystore.PKCS12.keyProtectionAlgorithm"
2. PKCS12KeyStore searches for "keystore.pkcs12.keyProtectionAlgorithm" first 
and "keystore.PKCS12.keyProtectionAlgorithm" next.

I would like to update KeyStore.java to use 
"keystore.pkcs12.keyProtectionAlgorithm". We will keep supporting the PKCS12 
name for this old property but everything else is clean.

How do you think?

Thanks
Max

> On Sep 28, 2018, at 12:22 AM, Sean Mullan <sean.mul...@oracle.com> wrote:
> 
> The keystore.pkcs12.keyProtectionAlgorithm property was introduced in JDK 8. 
> I don't think there are many apps using it.
> 
> Thus, I would make a decision on what you think the best solution is 
> long-term and then make sure you document any compatibility issues in the CSR 
> and release note.
> 
> My main advice is not to carry over the existing PKCS12 or pkcs12 flexibility 
> into the new properties.
> 
> --Sean
> 
> On 9/27/18 11:27 AM, Weijun Wang wrote:
>> Thinking about this more and there is a small problem.
>> Suppose a user is already using PKCS12. Since it was a security property, 
>> there are 2 ways to use it:
>> 1. Set it in java.security. Now the user is using JDK 12 and in 
>> java.security there is an existing keystore.pkcs12.keyProtectionAlgorithm. 
>> If the user noticed it, he would realize this is the formal name and modify 
>> it. If he hasn't noticed it he would add a new line using PKCS12. But then 
>> since both exist, the "pkcs12" one will be read first.
>> 2. Set it with Security::setProperty. This is similar to the "hasn't noticed 
>> it" case above, and his value will be ignored.
>> So, the user-provided PKCS12 one will only be used if the user is using an 
>> old java.security file. Do we really want to support that?
>> Since PKCS12 is already written into KeyStore.java, it seems the correct way 
>> is to use "PKCS12" as the formal name and use "pkcs12" as an alias. But in 
>> JDK 11, the search order is first "pkcs12" and then "PKCS12".
>> Or, shall we comment out the lines in java.security? They are indeed useless 
>> because default values are already hardcoded in source files.
>> --Max
>>> On Sep 27, 2018, at 10:29 PM, Sean Mullan <sean.mul...@oracle.com> wrote:
>>> 
>>> It seems odd to support both. Once we put that into the code it’s very hard 
>>> to take out in case someone is depending on it. So for the new properties I 
>>> would just support one variant.

Reply via email to