Package org.apache.tools.ant.taskdefs

# Class GenerateKey

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.GenerateKey

All Implemented Interfaces:
  `Cloneable`

public class GenerateKey extends Task
Generates a key in a keystore.

Since:
  Ant 1.2

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`GenerateKey.DistinguishedName`
A class corresponding to the dname nested element.
`static class`
`GenerateKey.DnameParam`
A DistinguishedName parameter.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`alias`
The alias of signer.
`protected String`
`dname`
`protected GenerateKey.DistinguishedName`
`expandedDname`
`protected String`
`keyalg`
`protected String`
`keypass`
`protected int`
`keysize`
`protected String`
`keystore`
The name of keystore file.
`protected String`
`saname`
`protected String`
`sigalg`
`protected String`
`storepass`
`protected String`
`storetype`
`protected int`
`validity`
`protected boolean`
`verbose`

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`GenerateKey()`

## Method Summary

Modifier and Type
Method
Description
`GenerateKey.DistinguishedName`
`createDname()`
Distinguished name list.
`void`
`execute()`
Execute the task.
`void`
`setAlias(String alias)`
The alias to add under.
`void`
`setDname(String dname)`
The distinguished name for entity.
`void`
`setKeyalg(String keyalg)`
The method to use when generating name-value pair.
`void`
`setKeypass(String keypass)`
Password for private key (if different).
`void`
`setKeysize(String keysize)`
Indicates the size of key generated.
`void`
`setKeystore(String keystore)`
Keystore location.
`void`
`setSaname(String saname)`
The subject alternative name for entity.
`void`
`setSigalg(String sigalg)`
The algorithm to use in signing.
`void`
`setStorepass(String storepass)`
Password for keystore integrity.
`void`
`setStoretype(String storetype)`
Keystore type.
`void`
`setValidity(String validity)`
Indicates how many days certificate is valid.
`void`
`setVerbose(boolean verbose)`
If true, verbose output when signing.

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### alias

protected String alias
The alias of signer.

### keystore

protected String keystore
The name of keystore file.

### storepass

protected String storepass

### storetype

protected String storetype

### keypass

protected String keypass

### sigalg

protected String sigalg

### keyalg

protected String keyalg

### saname

protected String saname

### dname

protected String dname

### expandedDname

protected GenerateKey.DistinguishedName expandedDname

### keysize

protected int keysize

### validity

protected int validity

### verbose

protected boolean verbose

## Constructor Details

### GenerateKey

public GenerateKey()

## Method Details

### createDname

public GenerateKey.DistinguishedName createDname() throws BuildException
Distinguished name list.

Returns:
  Distinguished name container.
Throws:
  `BuildException` - If specified more than once or dname attribute is used.

### setDname

public void setDname(String dname)
The distinguished name for entity.

Parameters:
  `dname` - distinguished name

### setSaname

public void setSaname(String saname)
The subject alternative name for entity.

Parameters:
  `saname` - subject alternative name
Since:
  Ant 1.9.14

### setAlias

public void setAlias(String alias)
The alias to add under.

Parameters:
  `alias` - alias to add under

### setKeystore

public void setKeystore(String keystore)
Keystore location.

Parameters:
  `keystore` - location

### setStorepass

public void setStorepass(String storepass)
Password for keystore integrity. Must be at least 6 characters long.

Parameters:
  `storepass` - password

### setStoretype

public void setStoretype(String storetype)
Keystore type.

Parameters:
  `storetype` - type

### setKeypass

public void setKeypass(String keypass)
Password for private key (if different).

Parameters:
  `keypass` - password

### setSigalg

public void setSigalg(String sigalg)
The algorithm to use in signing.

Parameters:
  `sigalg` - algorithm

### setKeyalg

public void setKeyalg(String keyalg)
The method to use when generating name-value pair.

Parameters:
  `keyalg` - algorithm

### setKeysize

public void setKeysize(String keysize) throws BuildException
Indicates the size of key generated.

Parameters:
  `keysize` - size of key
Throws:
  `BuildException` - If not an Integer
To do:
  Could convert this to a plain Integer setter.

### setValidity

public void setValidity(String validity) throws BuildException
Indicates how many days certificate is valid.

Parameters:
  `validity` - days valid
Throws:
  `BuildException` - If not an Integer

### setVerbose

public void setVerbose(boolean verbose)
If true, verbose output when signing.

Parameters:
  `verbose` - verbose or not

### execute

public void execute() throws BuildException
Execute the task.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - on error