`

ant genkey (转)

阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<project name="aa" default="deployTopoJar" basedir=".">
<!-- 设定系统环境变量名为env,以备下边使用 -->
<property environment="env"/>

<!-- 设定构建JAR时的路径与文件名参数,注意:下边的属性设定时,如果属性代表路径,则为了适应相应操作系统可用location代替value;
   如果属性代表文件名,则必须用value. -->
<property name="src" value="./src" />
<property name="webRoot" location="WebRoot"/>
<property name="webInf" location="${webRoot}/WEB-INF"/>
<property name="destDir" location="${webInf}/classes"/>
<property name="classPath" location="${webInf}/lib"/>
<property name="topoJarPath" location="${webRoot}/topo/lib"/>
<property name="jarName" value="topo.jar,aa.jar"/>

<!-- 数字签名用的密钥信息参数 -->
<property name="keystoreName" value="esmkeystore"/>

<property name="storepass" value="esmsystem"/>
<property name="keystore" location="${topoJarPath}/${keystoreName}"/>
<property name="keypass" value="esmsystem"/>
<property name="keysize" value="1024"/>
<property name="alias" value="esmkey"/>
<property name="validity" value="365"/>

<property name="jarsigner" value="${env.JAVA_HOME}/bin/jarsigner.exe"/>

<!-- 部署数字签名后的JAR到TOMCAT相应目录 -->
<property name="deployJarPath" location="${env.TOMCAT_HOME}/webapps/QT_ESM/topo/lib"/>

<target name="build">
  <mkdir dir="${destDir}" />
  <javac failonerror="false" encoding="utf-8" nowarn="true" debug="true" optimize="on" srcdir="${src}"
    destdir="${destDir}" includes="aa/**/*.java, cmy/**/*.java">
   <classpath>
    <fileset dir="${classPath}">
     <include name="**/*.jar" />
    </fileset>
   </classpath>
  </javac>
</target>

<!-- 构建JAR文件 -->
<target name="makeJar" depends="build">
  <copy todir="${destDir}/classes">
   <fileset dir="${src}">
    <include name="aa/*.*" />
   </fileset>
  </copy>
  <jar jarfile="${topoJarPath}/${jarName}" basedir="${destDir}"
    includes="aa/**, cmy/**">
  </jar>
</target>

<!-- 创建证书 -->
<target name="genericKey">
  <echo message="genkey..."/>
  <delete>
   <fileset dir="${topoJarPath}">
       <include name="${keystoreName}"/>
   </fileset>
  </delete>

  <genkey  keystore="${keystore}" storepass="${storepass}" alias="${alias}" keypass="${keypass}" keysize="${keysize}"
    verbose="true" validity="${validity}" dname="CN=Ant Group, OU=Jakarta Division, O=Apache.org, C=ZH">
  </genkey>
  <echo message="genkey... done"/>
</target>

<!-- 对JAR进行数字签名 -->
<target name="signJar" depends="makeJar, genericKey">
  <echo message="jarsigner..." />
  <exec executable="${jarsigner}" dir="${topoJarPath}">
   <arg line="-keystore"/>
   <arg value="${keystore}"/>
   <arg line="-storepass"/>
   <arg value="${storepass}"/>
   <arg line="${jarName}"/>
   <arg line="${alias}"/>
  </exec>
  <!-- 下边这种方式也可以 -->
  <!--signjar keystore="${keystore}" storepass="esmsystem" jar="${jarName}" alias="${alias}">
   <fileset dir="${topoJarPath}">
    <include name="${jarName}" />
   </fileset>
  </signjar-->
  <echo message="jarsigner... done." />
</target>

<!-- 部署JAR文件 -->
<target name="deployTopoJar" depends="signJar">
  <copy todir="${src}" file="${topoJarPath}/${jarName}">
  </copy>
</target>
</project>
0
0
分享到:
评论

相关推荐

    JNLP ant webstart sign genkey sample

    标题“JNLP ant webstart sign genkey sample”涉及到的是Java网络启动(Java Web Start,JWS)技术,以及如何使用Ant构建工具来签名JNLP应用。在Java Web Start中,JNLP(Java Network Launch Protocol)是用于启动...

    ant批量打包

    例如,`keytool -genkey`命令可以用来创建一个新的证书。签名应用时,使用`jarsigner`工具,指定keystore、别名和证书文件,如`jarsigner -keystore testCALib calendar.apk testCA`。 在批量打包Android应用时,...

    Ant编译打包android工程流程

    keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -keysize 2048 -validity 20000 ``` - **签名命令**: ```sh jarsigner -verbose -keystore android.keystore -signedjar android_...

    一个生成数字签名和Jar包的测试工程

    这通常涉及到`genkey`和`signjar`这两个Ant任务。`genkey`用于生成密钥对,`signjar`则用来签署JAR文件,确保其在分发时的完整性和不可篡改性。 总的来说,这个"生成数字签名和Jar包的测试工程"是一个实用的示例,...

    Eclipse下配置Ant脚本并自动打包带签名的Android apk

    keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 ``` 在这里,`my-release-key.keystore`是你的密钥库文件名,`alias_name`是别名,其他参数...

    安卓ADT项目及升级AS(Android Studio)全攻略

    keytool -genkey -v -keystore android.keystore -alias android.keystore -keyalg RSA -keysize 2048 -validity 20000 ``` 这里的`-validity 20000`表示签名的有效期为20000天。命令执行完毕后,`bin`目录中将会...

    android混淆与签名与反编译方法

    keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore ``` 这会创建一个名为`demo.keystore`的RSA算法签名文件,有效期40000天。签名APK有两种方式:手动和自动。手动签名...

    Android数字签名

    `keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000` 这个命令会创建一个名为ophone.keystore的证书,别名是ophone,使用RSA算法,有效期为20000天。 签名应用的命令示例...

    Android数字签名keystore学习[参照].pdf

    keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000 ``` 这个命令生成了一个名为`android.keystore`的证书,别名`android`,使用RSA算法,有效期20000天。 总之,Android...

    azkaban 编译与部署

    命令示例:`azkaban-web-server-3.1.0 $keytool -keystore keystore -alias jetty -genkey -keyalg RSA`。 - 这个命令会生成一个名为`keystore`的文件,用于后续配置中。 4. **配置azkaban.properties**: - 修改...

    Android开发常用命令整理

    使用 `keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000` 命令生成密钥,其中 `my-release-key.keystore` 是密钥库的文件名,`alias_name` 是密钥的别名。...

Global site tag (gtag.js) - Google Analytics