`
祖祖cool
  • 浏览: 52230 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

演练Ant实战之Jar文件数字签名

 
阅读更多
代码
  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>
分享到:
评论

相关推荐

    实战模拟演练 c# 实战模拟演练

    在本“实战模拟演练 c# 实战模拟演练”的主题中,我们将深入探讨C#编程语言在实际项目中的应用。C#是一种广泛用于构建各种类型应用程序的面向对象的编程语言,尤其在开发Windows桌面应用、Web应用以及游戏开发(如...

    蓝牙4.0实战演练

    蓝牙4.0实战演练是一本专门针对蓝牙4.0的实战操作指南,涵盖了蓝牙4.0的基础知识、开发环境搭建、基础实验操作、BLE协议栈演练及项目实战等多个方面。本书由网蜂科技编写,采用由浅入深的方式,逐步引导读者深入学习...

    网络安全实战演练中的攻与防.pdf

    "网络安全实战演练中的攻与防" ...因此,网络安全实战演练是为了让参与各方拥有更强的应对能力,发现不足,尽快弥补,不能将网络安全国之大计建于浮躁的空中楼阁,网络安全建设必须要经得起检验。

    《ZigBee实战演练》v3.0 -网蜂团队 倾力打造_ZigBee_实战教程_

    《ZigBee实战演练》v3.0是由网蜂团队倾力打造的一部全面而深入的ZigBee技术实战教程。这本书旨在帮助初学者和有经验的工程师快速掌握ZigBee技术,实现从理论到实践的无缝对接。 ZigBee是一种基于IEEE 802.15.4标准...

    FPGA设计 实战演练(逻辑篇)配套PDF part_1/2

    FPGA设计 实战演练(逻辑篇)配套PDF part_1/2 完整共2部分,这是第1部分,两部分完全下载后,才能用2345好压解压出来

    国开大学 VisualBasic程序设计 形考任务四:请同学选择课程【第6章】-【实战演练】“实验6 word文件显示程序”

    在这个“实验6 Word文件显示程序”的任务中,学生们将学习如何使用VB来创建一个能够打开、显示和操作Microsoft Word文档的程序。 首先,我们要了解VB中的`Microsoft Word Object Library`,这是一个非常关键的组件...

    Linux应急响应流程及实战演练

    ### Linux应急响应流程及实战演练 #### 一、引言 在现代企业的信息化环境中,Linux作为重要的服务器操作系统之一,承担着关键的应用和服务。然而,随着网络安全威胁的不断升级,Linux服务器面临的风险也在增加。...

    ZigBee实战演练

    《ZigBee实战演练》教程正是为了帮助初学者克服学习难题,掌握ZigBee技术,进而更好地参与到物联网时代的科技发展之中。通过系统的理论学习、详细的实验操作指导和丰富的实战案例,学习者可以快速成为一名合格的...

    《ZigBee实战演练》

    ZigBee实战演练由蜂网团队打造始终坚持开源原则包括书内容、所有代码和部分ZigBee学习模块PCB的开源。

    FPGA设计实战演练(高级技巧篇)

    一生中有幸成为新发现或新思想的一部分的机会屈指可数。某些思想或革新会极大地改变我们所生活的 世界。想一想如果生物科学家完成了整个人类基因的绘制 — 确定了DNA结构的最后一个基因,美国国 ...

    zigbee实战演练

    ZigBee实战演练是一本专门针对初学者学习ZigBee技术的教程,其核心是基于TI(德州仪器)的CC2530芯片进行实战演练。CC2530是一款集成了增强型8051内核的无线芯片,因其容易入手而被广泛用于ZigBee学习。本书由网蜂团队...

    《RFID实战演练》

    该教程以实践为主,从RFID技术的介绍、开发环境的建立、操作演练到项目实战,逐步引导读者深入理解和掌握RFID技术。教程通过配以精美的彩图和平易近人的讲解方式,帮助读者在实际操作中学习RFID技术。作者网蜂科技...

    C#与.NET技术平台实战演练

    C#与.NET技术平台实战演练

    C#百例实战演练

    在本《C#百例实战演练》中,我们将深入探讨C#这门强大的编程语言,通过一系列具体的实例,让你从理论到实践全面掌握C#的核心概念和技术。C#是由微软公司开发的一种面向对象的编程语言,广泛应用于Windows桌面应用、...

    《蓝牙4.0实战演练》第二版

    ### 蓝牙4.0实战演练第二版关键知识点总结 #### 一、蓝牙4.0概述 **蓝牙4.0**是蓝牙技术联盟在2012年推出的蓝牙标准新版本,作为蓝牙3.0的升级版,它带来了诸多改进与创新特性,包括更低的功耗、更低成本、更快的...

    网络安全实战攻防演练部署研究.pdf

    网络安全实战攻防演练是信息安全领域的重要组成部分,它通过模拟真实的网络环境来对信息系统进行入侵攻击,目的是发现潜在的网络漏洞和安全隐患。网络安全攻防演练的开展,对于提升网络安全意识、增强网络安全处置...

    ant 开发及整合 源码 实例

    3. **任务(Task)**:Ant提供了许多内置任务,如javac(用于Java编译)、copy(文件复制)、jar(创建JAR文件)和delete(删除文件或目录)。通过实例学习如何使用这些任务来实现特定的构建步骤。 4. **自定义任务...

Global site tag (gtag.js) - Google Analytics