src/share/lib/security/java.policy

Print this page
8043406: Change default policy for JCE providers to run with as few privileges
as possible


   9         permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*";
  10         permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*";
  11         permission java.util.PropertyPermission "*", "read";
  12 };
  13 
  14 grant codeBase "file:${java.home}/lib/ext/localedata.jar" {
  15         permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*";
  16         permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*";
  17         permission java.util.PropertyPermission "*", "read";
  18 };
  19 
  20 grant codeBase "file:${java.home}/lib/ext/dnsns.jar" {
  21         permission java.security.AllPermission;
  22 };
  23 
  24 grant codeBase "file:${java.home}/lib/ext/nashorn.jar" {
  25         permission java.security.AllPermission;
  26 };
  27 
  28 grant codeBase "file:${java.home}/lib/ext/sunec.jar" {
  29         permission java.security.AllPermission;








  30 };
  31 
  32 grant codeBase "file:${java.home}/lib/ext/sunjce_provider.jar" {
  33         permission java.security.AllPermission;





  34 };
  35 
  36 grant codeBase "file:${java.home}/lib/ext/sunpkcs11.jar" {
  37         permission java.security.AllPermission;











  38 };
  39 
  40 // default permissions granted to all domains
  41 
  42 grant {
  43         // Allows any thread to stop itself using the java.lang.Thread.stop()
  44         // method that takes no argument.
  45         // Note that this permission is granted by default only to remain
  46         // backwards compatible.
  47         // It is strongly recommended that you either remove this permission
  48         // from this policy file or further restrict it to code sources
  49         // that you specify, because Thread.stop() is potentially unsafe.
  50         // See the API specification of java.lang.Thread.stop() for more
  51         // information.
  52         permission java.lang.RuntimePermission "stopThread";
  53 
  54         // allows anyone to listen on dynamic ports
  55         permission java.net.SocketPermission "localhost:0", "listen";
  56 
  57         // "standard" properies that can be read by anyone




   9         permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*";
  10         permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*";
  11         permission java.util.PropertyPermission "*", "read";
  12 };
  13 
  14 grant codeBase "file:${java.home}/lib/ext/localedata.jar" {
  15         permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*";
  16         permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*";
  17         permission java.util.PropertyPermission "*", "read";
  18 };
  19 
  20 grant codeBase "file:${java.home}/lib/ext/dnsns.jar" {
  21         permission java.security.AllPermission;
  22 };
  23 
  24 grant codeBase "file:${java.home}/lib/ext/nashorn.jar" {
  25         permission java.security.AllPermission;
  26 };
  27 
  28 grant codeBase "file:${java.home}/lib/ext/sunec.jar" {
  29         permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*";
  30         permission java.lang.RuntimePermission "getProtectionDomain";
  31         permission java.lang.RuntimePermission "loadLibrary.sunec";
  32         permission java.util.PropertyPermission "*", "read";
  33         permission java.security.SecurityPermission "putProviderProperty.SunEC";
  34         permission java.security.SecurityPermission "clearProviderProperties.SunEC";
  35         permission java.security.SecurityPermission "removeProviderProperty.SunEC";
  36         // Needed by Runtime.loadLibrary(String) call
  37         permission java.io.FilePermission "<<ALL FILES>>", "read";
  38 };
  39 
  40 grant codeBase "file:${java.home}/lib/ext/sunjce_provider.jar" {
  41         permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
  42         permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*";
  43         permission java.util.PropertyPermission "*", "read";
  44         permission java.security.SecurityPermission "putProviderProperty.SunJCE";
  45         permission java.security.SecurityPermission "clearProviderProperties.SunJCE";
  46         permission java.security.SecurityPermission "removeProviderProperty.SunJCE";
  47 };
  48 
  49 grant codeBase "file:${java.home}/lib/ext/sunpkcs11.jar" {
  50         permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*";
  51         permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
  52         permission java.lang.RuntimePermission "getProtectionDomain";
  53         permission java.lang.RuntimePermission "loadLibrary.j2pkcs11";
  54         permission java.util.PropertyPermission "*", "read";
  55         permission java.security.SecurityPermission "putProviderProperty.SunPKCS11-Solaris";
  56         permission java.security.SecurityPermission "clearProviderProperties.SunPKCS11-Solaris";
  57         permission java.security.SecurityPermission "removeProviderProperty.SunPKCS11-Solaris";
  58         permission java.security.SecurityPermission "authProvider.SunPKCS11-Solaris";
  59         // Needed by Runtime.loadLibrary(String) call, as well as for reading config file
  60         // and NSS library existence check
  61         permission java.io.FilePermission "<<ALL FILES>>", "read";
  62 };
  63 
  64 // default permissions granted to all domains
  65 
  66 grant {
  67         // Allows any thread to stop itself using the java.lang.Thread.stop()
  68         // method that takes no argument.
  69         // Note that this permission is granted by default only to remain
  70         // backwards compatible.
  71         // It is strongly recommended that you either remove this permission
  72         // from this policy file or further restrict it to code sources
  73         // that you specify, because Thread.stop() is potentially unsafe.
  74         // See the API specification of java.lang.Thread.stop() for more
  75         // information.
  76         permission java.lang.RuntimePermission "stopThread";
  77 
  78         // allows anyone to listen on dynamic ports
  79         permission java.net.SocketPermission "localhost:0", "listen";
  80 
  81         // "standard" properies that can be read by anyone