#build-jar-sign.properties
#public info
#要签名的jar包文件
signjar.file=graph-show-applet.jar
#JAVA_HOME系统路径
JAVA_HOME=C:/Program Files/Java/dk1.7.0_10
#密钥库文件名
keystore.file=keystore.store
#证书文件名
cert.file=cert.cert
#别名
alias=alias
#keystore密码
storepass=storepass
#主密码
keypass=keypass
#dname info
#dname {CN=1, OU=1, O=1, L=1, ST=1, C=1}
#名字与姓氏
dname.CN=name
#组织单位名称
dname.OU=organizationUnitName
#组织名称
dname.O=organizationName
#所在的城市或区域名称
dname.L=DL
#所在的州或省份名称
dname.ST=LN
#该单位的两字母国家代码
dname.C=CN
#about keytool
keytool=keytool.exe
keytool.home=${JAVA_HOME}/bin
#about jarsigner
jarsigner=jarsigner.exe
jarsigner.home=${JAVA_HOME}/bin
#build-jar-sign.xml
<!-- Copyright (c) 2004 by Yoinn. All Rights Reserved. -->
<project name="JarSignerBuilder" default="jarsigner" basedir=".">
<!-- set global properties for this build -->
<property file="build-jar-sign.properties" />
<property name="deploy.dir" value="${basedir}" />
<!-- ********************************************************* -->
<!-- dname {CN=1, OU=1, O=1, L=1, ST=1, C=1} -->
<!--名字与姓氏-->
<property name="commonName" value="${dname.CN}" />
<!-- 组织单位名称 -->
<property name="organizationUnit" value="${dname.OU}" />
<!-- 组织名称 -->
<property name="organizationName" value="${dname.O}" />
<!-- 所在的城市或区域名称 -->
<property name="localityName" value="${dname.L}" />
<!-- 所在的州或省份名称 -->
<property name="stateName" value="${dname.ST}" />
<!-- 该单位的两字母国家代码 -->
<property name="country" value="${dname.C}" />
<property name="dname" value="CN=${commonName},OU=${organizationUnit},O=${organizationName},L=${localityName},ST=${stateName},C=${country}" />
<!-- ********************************************************* -->
<target name="init">
<delete file="${keystore.file}" />
<delete file="${cert.file}" />
</target>
<target name="keytool" depends="init">
<echo message="keytool start..." />
<echo message="dname = { ${dname} }" />
<exec dir="${deploy.dir}" executable="${keytool.home}/${keytool}" os="windows 7">
<arg line="-genkey" />
<arg line="-dname ${dname}" />
<arg line="-keystore ${keystore.file}" />
<arg line="-alias ${alias}" />
<arg line="-storepass ${storepass}" />
<arg line="-keypass ${keypass}" />
</exec>
<exec dir="${deploy.dir}" executable="${keytool.home}/${keytool}" os="windows 7">
<arg line="-export" />
<arg line="-keystore ${keystore.file}" />
<arg line="-storepass ${storepass}" />
<arg line="-alias ${alias}" />
<arg line="-file ${cert.file}" />
</exec>
<echo message="keytool done..." />
</target>
<target name="jarsigner" depends="keytool">
<!-- Sign the jar -->
<echo message="jarsigner start..." />
<exec dir="${deploy.dir}" executable="${jarsigner.home}/${jarsigner}" os="windows 7">
<arg line="-keystore ${keystore.file}" />
<arg line="-storepass ${storepass}" />
<arg line="${signjar.file}" />
<arg line="${alias}" />
</exec>
<echo message="jarsigner done..." />
</target>
</project>
转载于:https://blog.51cto.com/xiweicheng/1137943