jdk/src/java.base/share/conf/security/java.policy
author chegar
Wed, 03 Dec 2014 14:22:58 +0000
changeset 27565 729f9700483a
parent 27182 4525d13b8af1
child 28849 ccf9d86e52ec
permissions -rw-r--r--
8049367: Modular Run-Time Images Reviewed-by: chegar, dfuchs, ihse, joehw, mullan, psandoz, wetmore Contributed-by: alan.bateman@oracle.com, alex.buckley@oracle.com, bradford.wetmore@oracle.com, chris.hegarty@oracle.com, erik.joelsson@oracle.com, james.laskey@oracle.com, jonathan.gibbons@oracle.com, karen.kinnear@oracle.com, magnus.ihse.bursie@oracle.com, mandy.chung@oracle.com, mark.reinhold@oracle.com, paul.sandoz@oracle.com, sundararajan.athijegannathan@oracle.com

// permissions required by each component
grant codeBase "jrt:/jdk.zipfs" {
        permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
        permission java.lang.RuntimePermission "fileSystemProvider";
        permission java.util.PropertyPermission "*", "read";
};

grant codeBase "jrt:/jdk.localedata" {
        permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*";
        permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*";
        permission java.util.PropertyPermission "*", "read";
};

grant codeBase "jrt:/jdk.naming.dns" {
        permission java.security.AllPermission;
};

grant codeBase "jrt:/jdk.scripting.nashorn" {
        permission java.security.AllPermission;
};

grant codeBase "jrt:/jdk.crypto.ucrypto" {
        permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*";
        permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
        permission java.lang.RuntimePermission "loadLibrary.j2ucrypto";
        // need "com.oracle.security.ucrypto.debug" for debugging
        permission java.util.PropertyPermission "*", "read";
        permission java.security.SecurityPermission "putProviderProperty.OracleUcrypto";
        permission java.security.SecurityPermission "clearProviderProperties.OracleUcrypto";
        permission java.security.SecurityPermission "removeProviderProperty.OracleUcrypto";
        permission java.io.FilePermission "${java.home}/conf/security/ucrypto-solaris.cfg", "read";
};

grant codeBase "jrt:/jdk.crypto.ec" {
        permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*";
        permission java.lang.RuntimePermission "loadLibrary.sunec";
        permission java.util.PropertyPermission "*", "read";
        permission java.security.SecurityPermission "putProviderProperty.SunEC";
        permission java.security.SecurityPermission "clearProviderProperties.SunEC";
        permission java.security.SecurityPermission "removeProviderProperty.SunEC";
};

grant codeBase "jrt:/jdk.crypto.pkcs11" {
        permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*";
        permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
        permission java.lang.RuntimePermission "loadLibrary.j2pkcs11";
        // needs "security.pkcs11.allowSingleThreadedModules"
        permission java.util.PropertyPermission "*", "read";
        permission java.security.SecurityPermission "putProviderProperty.*";
        permission java.security.SecurityPermission "clearProviderProperties.*";
        permission java.security.SecurityPermission "removeProviderProperty.*";
        permission java.security.SecurityPermission "getProperty.auth.login.defaultCallbackHandler";
        permission java.security.SecurityPermission "authProvider.*";
        // Needed for reading PKCS11 config file and NSS library check
        permission java.io.FilePermission "<<ALL FILES>>", "read";
};

// default permissions granted to all domains

grant {
        // Allows any thread to stop itself using the java.lang.Thread.stop()
        // method that takes no argument.
        // Note that this permission is granted by default only to remain
        // backwards compatible.
        // It is strongly recommended that you either remove this permission
        // from this policy file or further restrict it to code sources
        // that you specify, because Thread.stop() is potentially unsafe.
        // See the API specification of java.lang.Thread.stop() for more
        // information.
        permission java.lang.RuntimePermission "stopThread";

        // allows anyone to listen on dynamic ports
        permission java.net.SocketPermission "localhost:0", "listen";

        // "standard" properies that can be read by anyone

        permission java.util.PropertyPermission "java.version", "read";
        permission java.util.PropertyPermission "java.vendor", "read";
        permission java.util.PropertyPermission "java.vendor.url", "read";
        permission java.util.PropertyPermission "java.class.version", "read";
        permission java.util.PropertyPermission "os.name", "read";
        permission java.util.PropertyPermission "os.version", "read";
        permission java.util.PropertyPermission "os.arch", "read";
        permission java.util.PropertyPermission "file.separator", "read";
        permission java.util.PropertyPermission "path.separator", "read";
        permission java.util.PropertyPermission "line.separator", "read";

        permission java.util.PropertyPermission "java.specification.version", "read";
        permission java.util.PropertyPermission "java.specification.vendor", "read";
        permission java.util.PropertyPermission "java.specification.name", "read";

        permission java.util.PropertyPermission "java.vm.specification.version", "read";
        permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
        permission java.util.PropertyPermission "java.vm.specification.name", "read";
        permission java.util.PropertyPermission "java.vm.version", "read";
        permission java.util.PropertyPermission "java.vm.vendor", "read";
        permission java.util.PropertyPermission "java.vm.name", "read";
};