On 9/27/18 1:58 AM, Weijun Wang wrote:
All others accepted.

1122 keystore.pkcs12.certProtectionAlgorithm = PBEWithSHA1AndRC2_40

Shouldn't this be named certPbeAlgorithm so that it matches 
certPbeIterationCount? Same comment about keyProtectionAlgorithm.

Unfortunately we already had "keystore.pkcs12.keyProtectionAlgorithm" and it also accepts "PKCS12".

Ah, I see - I forgot about that property.

See http://cr.openjdk.java.net/~weijun/8076190/webrev.03/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java-.html:

  147     private static final String[] KEY_PROTECTION_ALGORITHM = {
  148         "keystore.pkcs12.keyProtectionAlgorithm",
  149         "keystore.PKCS12.keyProtectionAlgorithm"
  150     };

But you are right the names are not consistent and supporting both "pkcs12" and "PKCS12" 
is awkward (and cannot make use of the new SecurityProperties::privilegedGetOverridable method). Now I decide 
to name the new properties as (key|cert)PbeAlgorithm names with only "pkcs12", and only support the 
old names as a fallback.

Hmm, but this means we have to support 2 properties meaning the same thing, and the KeyStore.PasswordProtection.getProtectionAlgorithm() is already specified to use the keystore.<type>.keyProtectionAlgorithm property. Based on that, I take back my comment, and I think it would be better to retain the existing property instead of defining another one with the same meaning. I don't like having to try to get the properties with "pkcs12" and "PKCS12", but it seems we could live with that since we have been doing it and we only need to do this for the existing properties - we could assume "pkcs12" for all of the new ones.

--Sean

Reply via email to