Class AbstractJarSignerTask

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    SignJar, VerifyJar

    public abstract class AbstractJarSignerTask
    extends Task
    This is factored out from SignJar; a base class that can be used for both signing and verifying JAR files using jarsigner
    • Field Detail

      • ERROR_NO_SOURCE

        public static final java.lang.String ERROR_NO_SOURCE
        error string for unit test verification: "jar must be set through jar attribute or nested filesets"
        See Also:
        Constant Field Values
      • JARSIGNER_COMMAND

        protected static final java.lang.String JARSIGNER_COMMAND
        name of JDK program we are looking for
        See Also:
        Constant Field Values
      • jar

        protected java.io.File jar
        The name of the jar file.
      • alias

        protected java.lang.String alias
        The alias of signer.
      • keystore

        protected java.lang.String keystore
        The url or path of keystore file.
      • storepass

        protected java.lang.String storepass
        password for the store
      • storetype

        protected java.lang.String storetype
        type of store,-storetype param
      • keypass

        protected java.lang.String keypass
        password for the key in the store
      • verbose

        protected boolean verbose
        verbose output
      • strict

        protected boolean strict
        strict checking
        Since:
        Ant 1.9.1
      • maxMemory

        protected java.lang.String maxMemory
        The maximum amount of memory to use for Jar signer
      • filesets

        protected java.util.Vector<FileSet> filesets
        the filesets of the jars to sign
    • Constructor Detail

      • AbstractJarSignerTask

        public AbstractJarSignerTask()
    • Method Detail

      • setMaxmemory

        public void setMaxmemory​(java.lang.String max)
        Set the maximum memory to be used by the jarsigner process
        Parameters:
        max - a string indicating the maximum memory according to the JVM conventions (e.g. 128m is 128 Megabytes)
      • setJar

        public void setJar​(java.io.File jar)
        the jar file to sign; required
        Parameters:
        jar - the jar file to sign
      • setAlias

        public void setAlias​(java.lang.String alias)
        the alias to sign under; required
        Parameters:
        alias - the alias to sign under
      • setKeystore

        public void setKeystore​(java.lang.String keystore)
        keystore location; required
        Parameters:
        keystore - the keystore location
      • setStorepass

        public void setStorepass​(java.lang.String storepass)
        password for keystore integrity; required
        Parameters:
        storepass - the password for the keystore
      • setStoretype

        public void setStoretype​(java.lang.String storetype)
        keystore type; optional
        Parameters:
        storetype - the keystore type
      • setKeypass

        public void setKeypass​(java.lang.String keypass)
        password for private key (if different); optional
        Parameters:
        keypass - the password for the key (if different)
      • setVerbose

        public void setVerbose​(boolean verbose)
        Enable verbose output when signing; optional: default false
        Parameters:
        verbose - if true enable verbose output
      • setStrict

        public void setStrict​(boolean strict)
        do strict checking
        Parameters:
        strict - boolean
        Since:
        Ant 1.9.1
      • addFileset

        public void addFileset​(FileSet set)
        Adds a set of files to sign
        Parameters:
        set - a set of files to sign
        Since:
        Ant 1.4
      • addSysproperty

        public void addSysproperty​(Environment.Variable sysp)
        Add a system property.
        Parameters:
        sysp - system property.
      • createPath

        public Path createPath()
        Adds a path of files to sign.
        Returns:
        a path of files to sign.
        Since:
        Ant 1.7
      • setProviderName

        public void setProviderName​(java.lang.String providerName)
        Sets the value for the -providerName command line argument.
        Parameters:
        providerName - the value for the -providerName command line argument
        Since:
        Ant 1.10.6
      • setProviderClass

        public void setProviderClass​(java.lang.String providerClass)
        Sets the value for the -providerClass command line argument.
        Parameters:
        providerClass - the value for the -providerClass command line argument
        Since:
        Ant 1.10.6
      • setProviderArg

        public void setProviderArg​(java.lang.String providerArg)
        Sets the value for the -providerArg command line argument.
        Parameters:
        providerArg - the value for the -providerArg command line argument
        Since:
        Ant 1.10.6
      • addArg

        public void addArg​(Commandline.Argument arg)
        Adds a nested <arg> element that can be used to specify command line arguments not supported via specific attributes.
        Parameters:
        arg - the argument to add
        Since:
        Ant 1.10.6
      • beginExecution

        protected void beginExecution()
        init processing logic; this is retained through our execution(s)
      • endExecution

        protected void endExecution()
        any cleanup logic
      • setExecutable

        public void setExecutable​(java.lang.String executable)
        Sets the actual executable command to invoke, instead of the binary jarsigner found in Ant's JDK.
        Parameters:
        executable - the command to invoke.
        Since:
        Ant 1.8.0
      • setCommonOptions

        protected void setCommonOptions​(ExecTask cmd)
        these are options common to signing and verifying
        Parameters:
        cmd - command to configure
      • bindToKeystore

        protected void bindToKeystore​(ExecTask cmd)
        bind to a keystore if the attributes are there
        Parameters:
        cmd - command to configure
      • createJarSigner

        protected ExecTask createJarSigner()
        create the jarsigner executable task
        Returns:
        a task set up with the executable of jarsigner, failonerror=true and bound to our redirector
      • createUnifiedSources

        protected java.util.Vector<FileSet> createUnifiedSources()
        clone our filesets vector, and patch in the jar attribute as a new fileset, if is defined
        Returns:
        a vector of FileSet instances
      • createUnifiedSourcePath

        protected Path createUnifiedSourcePath()
        clone our path and add all explicitly specified FileSets as well, patch in the jar attribute as a new fileset if it is defined.
        Returns:
        a path that contains all files to sign
        Since:
        Ant 1.7
      • hasResources

        protected boolean hasResources()
        Has either a path or a fileset been specified?
        Returns:
        true if a path or fileset has been specified.
        Since:
        Ant 1.7
      • addValue

        protected void addValue​(ExecTask cmd,
                                java.lang.String value)
        add a value argument to a command
        Parameters:
        cmd - command to manipulate
        value - value to add
      • addArgument

        protected void addArgument​(ExecTask cmd,
                                   Commandline.Argument arg)
        add an argument to a command
        Parameters:
        cmd - command to manipulate
        arg - argument to add