32 import java.util.stream.Stream; |
32 import java.util.stream.Stream; |
33 import java.util.stream.StreamSupport; |
33 import java.util.stream.StreamSupport; |
34 import java.util.zip.*; |
34 import java.util.zip.*; |
35 import java.security.CodeSigner; |
35 import java.security.CodeSigner; |
36 import java.security.cert.Certificate; |
36 import java.security.cert.Certificate; |
37 import java.security.AccessController; |
|
38 import java.security.CodeSource; |
37 import java.security.CodeSource; |
39 import jdk.internal.misc.SharedSecrets; |
38 import jdk.internal.misc.SharedSecrets; |
40 import sun.security.action.GetPropertyAction; |
39 import sun.security.action.GetPropertyAction; |
41 import sun.security.util.ManifestEntryVerifier; |
40 import sun.security.util.ManifestEntryVerifier; |
42 import sun.security.util.SignatureFileVerifier; |
41 import sun.security.util.SignatureFileVerifier; |
153 // Set up JavaUtilJarAccess in SharedSecrets |
152 // Set up JavaUtilJarAccess in SharedSecrets |
154 SharedSecrets.setJavaUtilJarAccess(new JavaUtilJarAccessImpl()); |
153 SharedSecrets.setJavaUtilJarAccess(new JavaUtilJarAccessImpl()); |
155 |
154 |
156 BASE_VERSION = 8; // one less than lowest version for versioned entries |
155 BASE_VERSION = 8; // one less than lowest version for versioned entries |
157 int runtimeVersion = jdk.Version.current().major(); |
156 int runtimeVersion = jdk.Version.current().major(); |
158 String jarVersion = AccessController.doPrivileged( |
157 String jarVersion = |
159 new GetPropertyAction("jdk.util.jar.version")); |
158 GetPropertyAction.getProperty("jdk.util.jar.version"); |
160 if (jarVersion != null) { |
159 if (jarVersion != null) { |
161 int jarVer = Integer.parseInt(jarVersion); |
160 int jarVer = Integer.parseInt(jarVersion); |
162 runtimeVersion = (jarVer > runtimeVersion) |
161 runtimeVersion = (jarVer > runtimeVersion) |
163 ? runtimeVersion : Math.max(jarVer, 0); |
162 ? runtimeVersion : Math.max(jarVer, 0); |
164 } |
163 } |
165 RUNTIME_VERSION = runtimeVersion; |
164 RUNTIME_VERSION = runtimeVersion; |
166 String enableMultiRelease = AccessController.doPrivileged( |
165 String enableMultiRelease = GetPropertyAction |
167 new GetPropertyAction("jdk.util.jar.enableMultiRelease", "true")); |
166 .getProperty("jdk.util.jar.enableMultiRelease", "true"); |
168 switch (enableMultiRelease) { |
167 switch (enableMultiRelease) { |
169 case "true": |
168 case "true": |
170 default: |
169 default: |
171 MULTI_RELEASE_ENABLED = true; |
170 MULTI_RELEASE_ENABLED = true; |
172 MULTI_RELEASE_FORCED = false; |
171 MULTI_RELEASE_FORCED = false; |