commit c38a36f124a7eb28920cc367cb01b67d973a55c0 Author: Andrew John Hughes Date: Wed Oct 11 01:42:03 2023 +0100 Backport e47a84f23dd2608c6f5748093eefe301fb5bf750 diff --git a/jdk/src/share/classes/java/util/jar/JarFile.java b/jdk/src/share/classes/java/util/jar/JarFile.java index a26dcc4a1c7..ac2e1c9d6a8 100644 --- a/jdk/src/share/classes/java/util/jar/JarFile.java +++ b/jdk/src/share/classes/java/util/jar/JarFile.java @@ -436,7 +436,9 @@ class JarFile extends ZipFile { throw new IOException("Unsupported size: " + uncompressedSize + " for JarEntry " + ze.getName() + ". Allowed max size: " + - SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes"); + SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " + + "You can use the jdk.jar.maxSignatureFileSize " + + "system property to increase the default value."); } int len = (int)uncompressedSize; byte[] b = IOUtils.readAllBytes(is); diff --git a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java index c335e964f63..afdfa406b92 100644 --- a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java +++ b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java @@ -855,16 +855,16 @@ public class SignatureFileVerifier { * the maximum allowed number of bytes for the signature-related files * in a JAR file. */ - Integer tmp = AccessController.doPrivileged(new GetIntegerAction( - "jdk.jar.maxSignatureFileSize", 8000000)); + int tmp = AccessController.doPrivileged(new GetIntegerAction( + "jdk.jar.maxSignatureFileSize", 16000000)); if (tmp < 0 || tmp > MAX_ARRAY_SIZE) { if (debug != null) { - debug.println("Default signature file size 8000000 bytes " + - "is used as the specified size for the " + - "jdk.jar.maxSignatureFileSize system property " + + debug.println("The default signature file size of 16000000 bytes " + + "will be used for the jdk.jar.maxSignatureFileSize " + + "system property since the specified value " + "is out of range: " + tmp); } - tmp = 8000000; + tmp = 16000000; } return tmp; }