RFR: 8301167: Update VerifySignedJar to actually exercise and test verification

Andrey Turbanov aturbanov at openjdk.org
Fri Feb 3 07:28:49 UTC 2023


On Wed, 25 Jan 2023 17:38:13 GMT, Eirik Bjorsnos <duke at openjdk.org> wrote:

> This PR resurrects VerifySignedJar which currently tests nothing.
> 
> VerifySignedJar currently verifies a binary JAR which was signed with SHA-1 back in April 2000. Because SHA-1 signed JARs has been disabled for a while, the JAR is treated as unsigned so the test doesn't really test anything as of now. 
> 
> The test is updated in the following ways:
> 
> - The JAR used for verification is now created and signed with SHA-256 by the test itself
> - The test is updated to check that the JAR is actually signed and with the expected certificate 
> - JarEntry InputStreams are now read fully to ensure verification of all entries
> - Objects.requireNonNull is used to check that entries returned by  getEntry, getJarEntry are non-null 
> - The existing binary JAR is retired

test/jdk/java/util/jar/JarFile/VerifySignedJar.java line 69:

> 67:                 jf.getInputStream(e).transferTo(OutputStream.nullOutputStream());
> 68:                 // Check that all regular files are signed by duke
> 69:                 if(!e.getName().startsWith("META-INF/")) {

Suggestion:

                if (!e.getName().startsWith("META-INF/")) {

-------------

PR: https://git.openjdk.org/jdk/pull/12206



More information about the security-dev mailing list