一、概述
signjar是Ant内置任务,用于使用jarsigner命令行工具签名jar文件。
二、属性
jar:要签名的jar文件,
alias:要签下的别名。
storepass:密钥库完整性的密码。
keystore:密钥库位置。
storetype:密钥库类型。
keypass:私钥密码。
sigfile:.sf/.dsa文件的名称。
signedjar:签名jar文件的名称,只有设置jar属性时才能设置此属性。
verbose:签名时是否输出详细信息,默认为false。
internalsf:签名块内是否包含.sf文件,默认为false。
sectionsonly:是否不计算整个清单的哈希值,默认为false。
lazy:是否签名的文件意味着一个jar被签名,默认为false。
maxmemory:指定 jarsigner VM 将使用的最大内存。按标准 java 内存规格 (如 128m = 128 MByte) 的样式中指定。
preservelastmodified:签名的文件是否设置与原始文件相同的最后修改时间,默认为false。
tsaurl:java1.5+时间戳jar文件的时间戳权限的url。
tsacert:java1.5+时间戳jar文件的时间戳权限的密钥库的别名。
executable:ant1.8起,指定代替默认二进制代码的特定的signjar可执行文件,必须支持与 Sun JDK jarsigner 命令相同的命令行选项。
force:ant1.8起,是否强制签名jar文件,即使没有过期或已经签名,默认为false。
sigalg:签名算法的名称。
digestalg:摘要算法的名称。
支持的嵌套元素:
path:ant1.7起,要签名的jar文件的路径。
fileset:要签名的jar文件的集合。
mapper:在签名过程中重命名jar文件的映射器,最多只能定义一个映射器。
sysproperty:JVM系统属性。
三、简单示例
<project>
<signjar jar="jsch-0.1.54.jar" alias="myant" sigalg="MD5withRSA"
verbose="true" storepass="123456" keypass="123456" destDir ="result"
keystore="D:/anttest/key/.keystore">
<flattenmapper />
<sysproperty key="java.version" value="1.7"/>
<sysproperty key="os.name" value="windows"/>
</signjar>
</project>