24 */
25
26 package sun.security.provider;
27
28 import java.io.*;
29 import java.lang.reflect.*;
30 import java.net.MalformedURLException;
31 import java.net.URL;
32 import java.net.URI;
33 import java.nio.file.Files;
34 import java.nio.file.Path;
35 import java.util.*;
36 import java.security.*;
37 import java.security.cert.Certificate;
38 import java.security.cert.X509Certificate;
39 import javax.security.auth.Subject;
40 import javax.security.auth.x500.X500Principal;
41 import java.net.SocketPermission;
42 import java.net.NetPermission;
43 import java.util.concurrent.ConcurrentHashMap;
44 import jdk.internal.misc.JavaSecurityAccess;
45 import static jdk.internal.misc.JavaSecurityAccess.ProtectionDomainCache;
46 import jdk.internal.misc.SharedSecrets;
47 import jdk.internal.util.StaticProperty;
48 import sun.security.util.*;
49 import sun.net.www.ParseUtil;
50
51 /**
52 * This class represents a default Policy implementation for the
53 * "JavaPolicy" type.
54 *
55 * <p> This object stores the policy for the entire Java runtime,
56 * and is the amalgamation of multiple static policy
57 * configurations that resides in files.
58 * The algorithm for locating the policy file(s) and reading their
59 * information into this <code>Policy</code> object is:
60 *
61 * <ol>
62 * <li>
63 * Read in and load the default policy file named
64 * <JAVA_HOME>/lib/security/default.policy. <JAVA_HOME> refers
65 * to the value of the java.home system property, and specifies the directory
66 * where the JRE is installed. This policy file grants permissions to the
|
24 */
25
26 package sun.security.provider;
27
28 import java.io.*;
29 import java.lang.reflect.*;
30 import java.net.MalformedURLException;
31 import java.net.URL;
32 import java.net.URI;
33 import java.nio.file.Files;
34 import java.nio.file.Path;
35 import java.util.*;
36 import java.security.*;
37 import java.security.cert.Certificate;
38 import java.security.cert.X509Certificate;
39 import javax.security.auth.Subject;
40 import javax.security.auth.x500.X500Principal;
41 import java.net.SocketPermission;
42 import java.net.NetPermission;
43 import java.util.concurrent.ConcurrentHashMap;
44 import jdk.internal.access.JavaSecurityAccess;
45 import static jdk.internal.access.JavaSecurityAccess.ProtectionDomainCache;
46 import jdk.internal.access.SharedSecrets;
47 import jdk.internal.util.StaticProperty;
48 import sun.security.util.*;
49 import sun.net.www.ParseUtil;
50
51 /**
52 * This class represents a default Policy implementation for the
53 * "JavaPolicy" type.
54 *
55 * <p> This object stores the policy for the entire Java runtime,
56 * and is the amalgamation of multiple static policy
57 * configurations that resides in files.
58 * The algorithm for locating the policy file(s) and reading their
59 * information into this <code>Policy</code> object is:
60 *
61 * <ol>
62 * <li>
63 * Read in and load the default policy file named
64 * <JAVA_HOME>/lib/security/default.policy. <JAVA_HOME> refers
65 * to the value of the java.home system property, and specifies the directory
66 * where the JRE is installed. This policy file grants permissions to the
|