I've just push the code change for this enhancement to jdk9/dev: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/ce33c780cfbd http://hg.openjdk.java.net/jdk9/dev/rev/882c782d7d5a
In order to work with jake, these changes are needed: diff --git a/src/jdk.jartool/share/classes/module-info.java b/src/jdk.jartool/share/classes/module-info.java --- a/src/jdk.jartool/share/classes/module-info.java +++ b/src/jdk.jartool/share/classes/module-info.java @@ -25,5 +25,6 @@ module jdk.jartool { exports com.sun.jarsigner; + exports jdk.security.jarsigner; } diff --git a/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java b/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java --- a/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java +++ b/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java @@ -1086,6 +1086,7 @@ try { // attempt to find signer Class<?> signerClass = appClassLoader.loadClass(signerClassName); + JarSigner.class.getModule().addReads(signerClass.getModule()); Object signer = signerClass.newInstance(); return (ContentSigner) signer; } catch (ClassNotFoundException|InstantiationException| Thanks Max