diff --git a/tests/IsMD5Disabled.java b/tests/IsMD5Disabled.java new file mode 100644 index 00000000..4844619f --- /dev/null +++ b/tests/IsMD5Disabled.java @@ -0,0 +1,22 @@ + +import java.security.Security; +import java.util.Locale; + +public class IsMD5Disabled { + public static void main(String[] args) throws Exception { + String daString = Security.getProperty("jdk.jar.disabledAlgorithms"); + String[] algorithms = daString.trim().split(","); + boolean isMD5Disabled = true; + for (String alg : algorithms) { + if (alg.trim().toLowerCase(Locale.US).startsWith("md5")) { + isMD5Disabled = false; + } + } + if (isMD5Disabled) { + System.out.println("MD5 in jdk.jar.disabledAlgorithms: " + daString); + } else { + System.out.println("MD5 allowed for JAR signatures: " + daString); + System.exit(1); + } + } +} diff --git a/tests/run-tests b/tests/run-tests index 346e8cdd..27dc651e 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -46,6 +46,11 @@ have_git_2_3() { python3 -c "import sys; from distutils.version import LooseVersion as V; sys.exit(V(sys.argv[3]) < V('2.3'))" `git --version` } +is_MD5_disabled() { + javac $WORKSPACE/tests/IsMD5Disabled.java && java -cp $WORKSPACE/tests IsMD5Disabled + return $? +} + #------------------------------------------------------------------------------# # "main"