diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 72c790d67..12dba0d80 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -206,6 +206,7 @@ Josh Lucas Juerg Wanner Julian Simpson Justin Vallon +Karl Jansen Keiron Liddle Keith Visco Kevin Connor Arpe diff --git a/WHATSNEW b/WHATSNEW index 462a041e7..f93d0af2b 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1,6 +1,12 @@ Changes from Ant 1.10.5 TO Ant 1.10.6 ===================================== +Other changes: +-------------- + * generatekey task now supports SubjectAlternativeName during key + generation. + + Changes from Ant 1.10.4 TO Ant 1.10.5 ===================================== diff --git a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java index 9c9fc16e1..bff5834e2 100644 --- a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java +++ b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java @@ -150,6 +150,7 @@ public class GenerateKey extends Task { protected String sigalg; protected String keyalg; + protected String saname; protected String dname; protected DistinguishedName expandedDname; protected int keysize; @@ -189,6 +190,21 @@ public class GenerateKey extends Task { this.dname = dname; } + /** + * The subject alternative name for entity. + * + * @param saname subject alternative name + * @since Ant 1.9.14 + */ + public void setSaname(final String saname) { + if (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_7)) { + this.saname = saname; + } else { + log("The SubjectAlternativeName extension is not available for " + +"the Java Version being used."); + } + } + /** * The alias to add under. * @@ -381,6 +397,13 @@ public class GenerateKey extends Task { sb.append("\" "); } + if (null != saname) { + sb.append("-ext "); + sb.append("\"san="); + sb.append(saname); + sb.append("\" "); + } + log("Generating Key for " + alias); final ExecTask cmd = new ExecTask(this); cmd.setExecutable(JavaEnvUtils.getJdkExecutable("keytool")); @@ -391,4 +414,3 @@ public class GenerateKey extends Task { cmd.execute(); } } -