<?xml version="1.0" encoding="UTF-8"?>
<project name="MakeTopoJar" 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"/>
<!-- 数字签名用的密钥信息参数 -->
<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="com/quantanetwork/esm/**/*.java, org/acegisecurity/ui/webapp/**/*.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="com/quantanetwork/esm/ui/topo/show/icons/*.*" />
</fileset>
</copy>
<jar jarfile="${topoJarPath}/${jarName}" basedir="${destDir}"
includes="com/quantanetwork/esm/logic/topo/**, com/quantanetwork/esm/ui/topo/**">
</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="${deployJarPath}" file="${topoJarPath}/${jarName}">
</copy>
</target>
</project>
今天总结下本人一直使用的在J2ME,BlackBerry和Android平台下签名方法。
J2ME:
1.生成key store. 用JAVA_HOME\bin目录下"keytool.exe"命令生成。
E.g.
D:\Java\jdk1.5.0_15\bin>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 100002.生成key store后还得修改下证书,必须需要手机厂商承认的证书,这就得去花钱买了,Verisign和Thawte都能买到证书, 然后进行签名。3.本人一般都用ANTENNA ANT生成J2ME程序,所以签名相对简单些,直接调用"Wtksign"任务来进行数字签名。
E.g.
D:\Java\jdk1.5.0_15\bin>jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name--------------------------------------------------------------------------------BlackBerry:
黑莓比较麻烦些,而且对于中国用户来说很不方便。首先,你得去购买个签名账户,然后才能进行
签名。据说好像不对中国用户提供,我也没有研究过,都是公司买个签名。购买后RIM会发给你3个.csi文件,分别对应不同的API使用。.csi文件生成key之后就不能在别的电脑使用了,这点也不爽。
假设你真的购买到.csi文件并且生成完key后,调用BB_HOME\bin目录下的SignatureTool.jar文件,选择你需要签名的程序最后点Request就进行签名了,如果成功了在Status一栏里会看到Signed字样。
好了,先到这吧。回家做饭去了
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/winsonx/archive/2009/04/28/4133640.aspx
分享到:
相关推荐
Jar包中如何正确地加载资源文件博文中用到的测试项目源码 http://codepub.cn/
这是我做的javaweb开发中用到的各种jar文件,因为很多人不知道从哪下载,用哪一些,资源里面我都标好了类别(ssm)这是我做的javaweb开发中用到的各种jar文件,因为很多人不知道从哪下载,用哪一些,资源里面我都标...
ant.jar 在java开发中用到,看到好多人要很多分,我就放了上去。只要1分,谢谢
在架构大型项目的时候通常会使用到ANT这个技术,我把需要的jar包,放上来,希望对大家有用
webservice中用到的jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar
博客案例中用到的Velocity 相关jar包
webservice中用到的jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar
Spring3.0中用到的所有jar包............好不容易找到的.....
webservice中用到的jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar,xfire-spring-1.2.6.jar
《Java应该怎么学》中用到的jar包,servlet-api.jar包
电子政务是依赖于计算机和网络技术而...由于Java在网络编程中的适用性,以及Java的安全系统结构日益完善和目前Java开发网络安全软件的便利性,因此在电子政务系统中用Java来实现数字签名会具有更好的安全性和现实意义。
idea中用到的lib下的jar包
python实现签名RSA算法工程文件 详解博客地址:https://blog.csdn.net/m0_52316372/article/details/125695341
ssm一个简单项目所需的xml配置文件,spring+springmvc+mybatis框架中用到了三个XML配置文件:web.xml,spring-mvc.xml,spring-mybatis.xml.第一个不用说,每个web项目都会有的也是关联整个项目的配置.第二个文件spring-...
利用lucene开发中用到的jar包,可以用来解析txt、pdf、html、doc、xls等
swing类的简单使用(一个项目中用到,自学),包括几个小例子
对build.xml文件中用到的标签进行了详尽的解说,并且附有例子,ant build.xml文件详解
这是javaweb开发中会用到的jar包,可免费下载,供大家使用!!! Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,
SSH框架整合中用到的jar包,搭建博客地址 https://blog.csdn.net/qq_31059985/article/details/80167712
4)在本设计中用产生的公钥e根据RSA算法的解密原理对所加密的消息摘要即数字签名进行解密运算,得到对应的消息摘要(在本设计中标示的为解密信息),比较两个消息摘要,验证数字签名者的身份的真实与否; 5)提示...