On 08/17/2016 07:22 PM, Bradford Wetmore wrote:
- src/java.base/share/conf/security/java.security

854 crypto.policy=policydir-tbd

The policydir-tbd value is a little confusing in that it isn't a real
value. What about just setting this to the empty string?

It's a similar marker for the string replacement like was done for
security.provider.tbd.

Ok, but those are property names.

What about setting the default value to "limited"? And then this would only be changed to "unlimited" if the build --enable-unlimited-crypto option is specified?

I could change it to be delineated with <>:
"<policydir-tbd>" if you like?

- src/java.base/share/classes/javax/crypto/JceSecurity.java

 255         String cryptoPolicyDir =
Security.getProperty("crypto.policy");
 256         Path cryptoPolicyPath = Paths.get(cryptoPolicyDir);

What happens if crypto.policy is not set or is set to ""?

Good catch.  Not set would NPE, "" would simply look at
<java-home>/conf/security/policy and fail to iterate the directory if no
files were actually there.  I've added code for both those conditions,
and also switched to use Path.resolve().

 253         // Sanity check the crypto.policy Security property.  Single
 254         // directory entry, no pseudo- or subdirectories.
255 String cryptoPolicyDir = Security.getProperty("crypto.policy");
 256
 257         if (cryptoPolicyDir == null) {
 258             throw new SecurityException(
259 "No cryptographic jurisdiction policy directory value");
 260         }

Instead of throwing an exception here, I wonder if it would make more sense to assume a default value of "limited" if the property is not set or is empty.

--Sean

Reply via email to