Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (404)
games submitted by our members
Games in WIP (289)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Ant build script for making a keystore and signing all jar files  (Read 2663 times)
0 Members and 1 Guest are viewing this topic.
Offline CommanderKeith
« Posted 2011-07-24 19:13:12 »

Hi,

Signing jar files for the purpose of making a webstart-able java app that can use 'all permissions' is a pain in the butt. Most of you probably already have some automatic utility that does the jar signing but I didn't and just spent hours figuring it out so I wanted to share it with other n00bs  Smiley

This Ant build code snippet will generate a keystore file, then finds all jars in the 'dist' directory and copies them into the 'distSigned' directory where they will be signed with the keystore.

It works for me in Netbeans and should work for Eclipse etc too since it also uses Ant as far as i know.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
<!-- Custom build script that makes a keystore, finds all jars in the 'dist' directory and copies them into the 'distSigned' directory where they will be signed with the keystore. -->
<!-- Insert this code in your project's build.xml file just before the </project> tag. -->
<target name="-post-jar">
   <property name="aliasName" value="Keith"/>
   <property name="password" value="password"/>
   <property name="keystoreFileName" location="keystoreFileName.ks"/>
   <property name="firstNameSurName" value="Keith Woodward"/>
   <property name="organisationUnitOrDepartment" value=""/>
   <property name="organisationName" value=""/>
   <property name="cityOrLocality" value="Sydney"/>
   <property name="stateOrProvince" value="NSW"/>
   <property name="twoLetterJavaLocaleCountryCode" value="AU"/>



   <delete file="${keystoreFileName}" failonerror="false" />
   <genkey alias="${aliasName}" storepass="${password}" keystore="${keystoreFileName}">
      <dname>
      <param name="CN" value="${firstNameSurName}"/>
      <param name="OU" value="${organisationUnitOrDepartment}"/>
      <param name="O"  value="${organisationName}"/>
      <param name="L"  value="${cityOrLocality}"/>
      <param name="ST"  value="${stateOrProvince}"/>
      <param name="C"  value="${twoLetterJavaLocaleCountryCode}"/>  
      </dname>
   </genkey>

   <delete dir="distSigned" failonerror="false" />
   <mkdir dir="distSigned" />
   <signjar destDir="distSigned"
      alias="${aliasName}" keystore="${keystoreFileName}"
      storepass="${password}"
      preservelastmodified="true">
      <path>
      <fileset dir="dist" includes="*.jar" />
      </path>
      <flattenmapper />
   </signjar>

   <mkdir dir="distSigned/lib" />
   <signjar destDir="distSigned/lib"
      alias="${aliasName}" keystore="${keystoreFileName}"
      storepass="${password}"
      preservelastmodified="true">
      <path>
      <fileset dir="dist/lib" includes="*.jar" />
      </path>
      <flattenmapper />
   </signjar>


</target>


Just change the property values to what you want, for example, change:
1  
<property name="aliasName" value="Keith"/>

to
1  
<property name="aliasName" value="YourName"/>


If anyone has any improvements I'd be very interested  Cool

PS: thanks to krasse, AlanW and ra4king for their tips here: http://www.java-gaming.org/index.php?topic=23891.0

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Try the Free Demo of Revenge of the Titans

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (32 views)
2013-05-17 21:29:12

alaslipknot (41 views)
2013-05-16 21:24:48

gouessej (71 views)
2013-05-16 00:53:38

gouessej (69 views)
2013-05-16 00:17:58

theagentd (78 views)
2013-05-15 15:01:13

theagentd (73 views)
2013-05-15 15:00:54

StreetDoggy (113 views)
2013-05-14 15:56:26

kutucuk (137 views)
2013-05-12 17:10:36

kutucuk (137 views)
2013-05-12 15:36:09

UnluckyDevil (145 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.139 seconds with 20 queries.