RFR: 8061842: Package jurisdiction policy files as something other than JAR
Bradford Wetmore
bradford.wetmore at oracle.com
Wed Aug 17 23:22:58 UTC 2016
New webrev:
https://bugs.openjdk.java.net/browse/JDK-8061842
http://cr.openjdk.java.net/~wetmore/8061842/webrev.01/
On 8/10/2016 11:19 AM, Sean Mullan wrote:
> Hi Brad,
>
> Looks pretty good. You should also send this to build-dev to review the
> Makefile changes. Just a few comments:
>
> - src/java.base/share/conf/security/policy/README.txt
>
> 17 contain no restrictions on cryptographic strengths, but they must
>
> s/must/must be/
Ok.
> 18 specifically activated by updating the "crypto.policy" entry in the
>
> s/entry/Security property/
Ok. I've updated to:
---begin---
specifically activated by updating the "crypto.policy" Security property
(e.g. <java-home>/conf/security/java.security) to point to the
appropriate directory.
----end---
> 33 Please see The Java(TM) Cryptography Architecture (JCA) Reference
>
> Is "TM" really necessary here?
It was required in previous versions of the unlimited crypto policy
bundle. We could run it by PM if you feel we should.
> src/java.base/share/conf/security/policy/unlimited/default_US_export.policy
>
> 1 // Manufacturing policy file.
>
> The term "Manufacturing" is odd. Can we just say this is the "Default
> local policy file"?
Sure.
> - 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. 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().
> 302 // I/O error encounted during the iteration,
>
> s/encounted/encountered/
Thanks!
Brad
> --Sean
>
> On 08/04/2016 03:35 PM, Bradford Wetmore wrote:
>> https://bugs.openjdk.java.net/browse/JDK-8061842
>> http://cr.openjdk.java.net/~wetmore/8061842/webrev.00/
>>
>> The proposal is to move the configuration files from the jar files in
>> <java-home>/lib/security to a series of subdirectories under a new
>> "policy" subdirectory in <java-home>/conf/security. Each subdirectory
>> within that directory will represent a complete policy configuration.
>> The existing jar files will be split into flat text files such that the
>> current/existing policies remain.
>>
>> The default set of policy files (i.e. directory) is configured using a
>> new java.security.Security property called "crypto.policy" which will be
>> added to the <java-home>/conf/security/java.security file. The default
>> initial options are "limited" or "unlimited", however additional
>> directories could potentially be created that specify other
>> as-yet-unknown policies.
>>
>> The default value of this property will be "limited" which corresponds
>> to our current policy for JRE/JDK export/import around the world.
>> However, the build respects the following "configure" option:
>>
>> --enable-unlimited-crypto
>> Enable unlimited crypto policy [disabled]
>>
>> Within the directory, our implementation will look for files using the
>> standard filename prefix above ("default_" or "exempt_"), thus new
>> additional policy restrictions/abstractions can be added with a simple
>> file addition.
>>
>> Brad
>>
More information about the security-dev
mailing list