Ant实战之Jar文件数字签名的制作(原创)

原创 2004年07月20日 11:03:00

build.properties
==================================
#public info

module = test

JAVA_HOME = C://j2sdk1.4.2_04

keystore = Yoinn.store
# 别名
alias = Yoinn
# keystore密码
storepass = password
# 主密码
keypass = password

# 证书文件名
cer.file = NeuLion.cer

# 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.xml
================================
<!-- Copyright (c) 2004 by Yoinn. All Rights Reserved. -->
<project name="JarSignerBuilder" default="jarsigner" basedir=".">

 <!-- set global properties for this build -->
 <property file="build.properties" />
 <property name="dist" value="./dist" />

 <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">
  <mkdir dir="${dist}" />
 </target>

 <target name="keytool" depends="undeploy">
  <echo message="keytool..." />
  <echo message="dname = { ${dname} }" />
  <exec dir="${deploy.dir}" executable="${keytool.home}/${keytool}" os="Windows 2000">
   <arg line="-genkey" />
   <arg line="-dname ${dname}" />
   <arg line="-keystore ${keystore}" />
   <arg line="-alias ${alias}" />
   <arg line="-storepass ${storepass}" />
   <arg line="-keypass ${keypass}" />
  </exec>
  <exec dir="${deploy.dir}" executable="${keytool.home}/${keytool}" os="Windows 2000">
   <arg line="-export" />
   <arg line="-keystore ${keystore}" />
   <arg line="-storepass ${storepass}" />
   <arg line="-alias ${alias}" />
   <arg line="-file ${cer.file}" />
  </exec>
  <echo message="keytool...done." />
 </target>

 <target name="jarsigner" depends="keytool">
  <!-- Sign the jar -->
  <echo message="jarsigner..." />
  <exec dir="${deploy.dir}" executable="${jarsigner.home}/${jarsigner}" os="Windows 2000">
   <arg line="-keystore ${keystore}" />
   <arg line="-storepass ${storepass}" />
   <arg line="${module}.jar" />
   <arg line="${alias}" />
  </exec>
        <echo message="jarsigner...done." />     
  <delete file="${keystore}" />
  <delete file="${cer.file}" />
  <delete dir="${dist}" />
 </target>

 <target name="undeploy">
  <delete file="${keystore}" />
  <delete file="${cer.file}" />
 </target>

</project>

Android 自动化发布—采用Ant打包的完美实现:编译、合并、签名、混淆、优化、自动运行

Android中进行APK打包可以采用Eclipse、Ant命令另种方式完成,但是如果打包的APK过多、打包次数过于频繁,工作量是可想而知的,所以决定采用Ant进行打包。基于Ant的打包实现,如果纯手...
  • webwalker
  • webwalker
  • 2014年04月30日 15:49
  • 7598

利用jenkins+ant实现编译前修改文件和批量打包签名

测试框架通过instrume要服务于不同的产品,每次打包时都需要修改AndroidManifest.xml文件中instrument对应的包名,并引用不同的keystore和密码来签名。这个过程本身就...
  • u010037124
  • u010037124
  • 2014年08月10日 11:30
  • 2389

Java 数字签名原理及产生

比如对于applet 来说,它可以保护用户(客户端) 文件和私人数据不被恶意的程序或病毒感染和破坏,鉴别代码提供者的身份。对于开发者而言,通过使用API方法,能够将安全性功能集成到应用程序中,因为AP...
  • oscar999
  • oscar999
  • 2013年12月16日 20:39
  • 8446

Jar文件的数字签名

JAR文件可以用 jarsigner工具或者直接通过 java.securityAPI 签名。签名后的JAR 本身的文件文件与原来JAR本身的 文件完全相同,只是更新了它的 manifest文件,并在...
  • hudashi
  • hudashi
  • 2011年12月13日 13:20
  • 3539

【e医疗原创】如何做好以数字签名为基础的医疗信息安全性管理

转自 http://mp.weixin.qq.com/s?__biz=MjM5ODY4MjQyNA==&mid=2651484707&idx=1&sn=6a68c0a4fc42e76338a6cdbb...
  • u010820135
  • u010820135
  • 2016年08月17日 17:11
  • 429

如果给jar包制作数字签名

  • 2012年03月21日 14:47
  • 41KB
  • 下载

为jar包进行数字签名

生产商业系统的开发者会购买证书来签名他们的JAR,一般的开发者则可以用匿名证书来签名他们的JAR。 为JAR签名需要两个工具:你要用keytool来创建一个密匙,然后用JARSign...
  • pyshibin
  • pyshibin
  • 2013年05月19日 20:05
  • 7970

jar 包自动数字签名工具

  • 2012年10月19日 10:18
  • 3.42MB
  • 下载

使用数字签名验证文件是否被修改

  • 2013年05月03日 12:18
  • 62KB
  • 下载

SignCheck 文件目录数字签名查看

  • 2012年06月28日 16:43
  • 360KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ant实战之Jar文件数字签名的制作(原创)
举报原因:
原因补充:

(最多只允许输入30个字)