프로젝트 개발 에 사 용 된 JAR 에 디지털 서명 을 하 는 ANT 구축 파일 (비망록)

<?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 생 성. JAVAHOME \ bin 디 렉 터 리 에 "keytool. exe" 명령 이 생 성 됩 니 다.
E.g.
D:\Java\jdk1.5.0_15\bin>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name - keyag 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 은 각각 다른 API 에 대응 하 는 3 개의. csi 파일 을 보 내 드 립 니 다.csi 파일 생 성 키 이후 다른 컴퓨터 에서 사용 할 수 없다 는 점도 불쾌 하 다.  만약 당신 이 정말. csi 파일 을 구 매 하고 key 를 생 성 한 후에 BB 를 호출 합 니 다.HOME \ bin 디 렉 터 리 에 있 는 SignatureTool. jar 파일 입 니 다. 서명 할 프로그램 을 선택 하고 마지막 으로 Request 를 누 르 면 서명 합 니 다. 성공 하면 Status 란 에서 Signed 문 자 를 볼 수 있 습 니 다.
  자, 여기까지 하 자.집에 밥 하 러 갔 어 요.
본 고 는 CSDN 블 로그 에서 왔 습 니 다. 전재 할 때 출처 를 표시 해 주 십시오. http://blog.csdn.net/winsonx/archive/2009/04/28/4133640.aspx

좋은 웹페이지 즐겨찾기