簡體   English   中英

如何將權限和代碼庫屬性放入第三方jar的清單?

[英]How to put Permissions and Codebase attributes into third-party jar's manifest?

Java™SE開發工具包7,更新25(JDK 7u25)中所述,如果使用Java Web Start部署的應用程序的清單文件沒有在防止RIA中描述的權限和代碼庫屬性,則會在控制台中打印警告重新利用

對於我的JAR,添加屬性是微不足道的; 對於沒有經過數字簽名的第三方罐子來說,這甚至是微不足道的:修改清單和標志(與我的JAR相同)。 如果我有第三方數字簽名的罐子怎么辦? 似乎整個清單文件的哈希值在驗證過程中使用,因此可能無法在不使用jarsigner-JAR簽名和驗證工具應用的簽名失效的情況下修改清單。

這是正確的嗎? 有什么解決方案嗎?

我為此目的做了一個小螞蟻腳本。 這個想法很簡單:

  • 為每個罐子

    • 提取臨時目錄中的內容
    • 不包括* .RSA和* .SF文件的重新jar(也添加權限)
    • 用我自己的證書簽名

     <property name="keystore" value="../keystores/store/keystore.jks" /> <property name="storetype" value="jks" /> <property name="storepass" value="password" /> <property name="keypass" value="${storepass}" /> <target name="unsign-all"> <foreach target="_re-jar" param="currentFile" parallel="false"> <path> <fileset dir="WebContent/dir_contains_jars" casesensitive="yes"> <include name="**/*.jar" /> </fileset> </path> </foreach> <move todir="WebContent/dir_contains_jars" overwrite="true"> <fileset dir="WebContent/dir_contains_jars.tmp" casesensitive="yes"> <include name="**/*.jar" /> </fileset> </move> <delete dir="WebContent/dir_contains_jars.tmp" /> </target> <target name="sign-all"> <apply executable="C:\\Program Files\\Java\\jdk1.7.0_45\\bin\\jarsigner"> <arg line="-keystore ${keystore} -storetype ${storetype} -storepass ${storepass} -keypass ${keypass}" /> <srcfile /> <arg line="alias_name" /> <fileset dir="WebContent/dir_contains_jars" casesensitive="yes"> <include name="**/*.jar" /> </fileset> </apply> </target> <target name="_re-jar"> <basename property="filename" file="${currentFile}" /> <jar destfile="WebContent/dir_contains_jars.tmp/${filename}"> <zipfileset src="${currentFile}"> <exclude name="META-INF/**.RSA" /> <exclude name="META-INF/**.SF" /> </zipfileset> <manifest> <attribute name="Permissions" value="all-permissions" /> <attribute name="Codebase" value="*" /> <attribute name="Application-Name" value="jnlpApplicationName" /> </manifest> </jar> </target> 

暫無
暫無

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

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