<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>ZipFile.isSignatureRelated currently returns true for paths such as the following:</div><div><br></div><div>META-INF/libraries/org.bouncycastle:bcprov-jdk15on:jar-1.70/META-INF/BC2048KE.DSA</div></div></blockquote><div><br></div><div>I found a couple more call sites of SignatureFileVerifier.isBlockOrSF which incorrectly treat [SF,DSA,RSA,EC] files as signature related even when they reside in subdirectories of META-INF/:</div><div><br></div><div>o JarVerifier.beginEntry incorrectly sets up verification </div><div>o JarSigner.sign0 incorrectly identifies a jar as already signed, even when it is not</div><div><br></div><div>I have made a draft PR which updates these call sites to require files to reside directly in META-INF/ before they are considered signature related:</div><div><br></div><div><a href="https://github.com/openjdk/jdk/pull/11976">https://github.com/openjdk/jdk/pull/11976</a><br></div><div> <br></div><div>The PR includes a new test which verifies that subdirectory signature files are indeed ignored by the updated code</div><div><br></div><div>Feedback on this PR is welcome!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>A few questions:</div><div><br></div><div>1: Where Is the exact location of signature related files specified?<br></div></div></blockquote><div><br></div><div>I'm assuming the JAR File Specification is the normative source here [1] </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>2: Is the current behaviour indeed incorrect?</div></div></blockquote><div><br></div><div>The spec says: "Note that if such files are located in META-INF subdirectories, they are not considered signature-related"</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>3: Should ZipFile.isSignatureRelated be updated such that it only matches signature related files which reside exactly in "META-INF/" ?</div></div></blockquote><div><br></div><div>I guess there is a risk that jar files may exist which are signed with signature files in subdirectories. If such files exist, they are not produced with jarsigner and they are not according to the spec. </div><div><br></div><div>Eirik.</div></div></div>