簡體   English   中英

META-INF中的jarsigner和文件/目錄

[英]jarsigner and files / directories in META-INF

我在簽名jar文件時遇到問題。 我在META-INF目錄中有一些文件,使用jarsigner時它們沒有被簽名,但是由於未簽名的條目,驗證失敗。

我沒有創建jar,因此無法更改其結構和/或刪除文件。

如何從META-INF獲取文件簽名?

這是build.xml文件中用於操作JAR文件的部分:

1345           <jar destfile="${proj.build.webui.war.dir}/name.jar"
1346               update="true">
1347               <manifest>
1348                   <attribute name="Permissions"
1349                       value="all-permissions"/>
1350                   <attribute name="Codebase" 
1351                       value="*"/>
1352                   <attribute name="Trusted-Library"
1353                       value="true"/>
1354               </manifest>
1355           </jar>
1356           <!-- sign the jar files -->
1357           <chmod perm="u+x">
1358               <fileset dir="${proj.buildtools.dir}">
1359                   <include name="DsJarSigner"/>
1360               </fileset>
1361           </chmod>
1362           <signjar destDir="${proj.build.webui.war.dir}"
1363               alias="encryptedAlias"
1364               keystore="${proj.buildtools.dir}/keystore.jks"
1365               storepass="encryptedPassword"
1366               executable="${proj.buildtools.dir}/DsJarSigner"
1367               preservelastmodified="true" >
1368               <path>
1369                   <fileset dir="${proj.build.webui.war.dir}" includes="name.jar" />
1370               </path>
1371               <flattenmapper />
1372           </signjar>

DsJarSigner是一個簡單的Java程序,稱為jarsigner。

看起來您的 jarsigner跳過了META-INF的文件。 除了使用其他簽名者之外,您無能為力。 例如,來自OpenJDK 8的jarsigner會跳過META-INF一些文件 ,該文件被認為是“與簽名相關”的,而其他文件則不會。 我觀察到來自Oracle JDK的jarsigners也這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM