8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar

Reviewed-by: sgehwolf
Backport-of: e47a84f23dd2608c6f5748093eefe301fb5bf750
This commit is contained in:
Andrew John Hughes 2023-11-24 14:44:36 +00:00
parent 10a653e5c3
commit b372b4b502
2 changed files with 9 additions and 7 deletions

View File

@ -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);

View File

@ -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;
}