From 05d05a0bd6636f86ffebe165817b1e5cd508bc31 Mon Sep 17 00:00:00 2001 From: Karl Jansen Date: Wed, 11 Jul 2018 14:19:29 -0700 Subject: [PATCH 1/2] Add support for SAN extension in GenerateKey task --- .../tools/ant/taskdefs/GenerateKey.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java index c26ac3621..d9f8f721e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java +++ b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java @@ -181,6 +181,7 @@ public class GenerateKey extends Task { protected String sigalg; protected String keyalg; + protected String saname; protected String dname; protected DistinguishedName expandedDname; protected int keysize; @@ -221,6 +222,20 @@ public class GenerateKey extends Task { this.dname = dname; } + /** + * The subject alternative name for entity. + * + * @param saname subject alternative name + */ + 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. * @@ -400,7 +415,6 @@ public class GenerateKey extends Task { sb.append("\" "); } - if (0 < keysize) { sb.append("-keysize \""); sb.append(keysize); @@ -413,6 +427,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")); @@ -423,4 +444,3 @@ public class GenerateKey extends Task { cmd.execute(); } } - From a5fe8b61f1b0f0b07ebf096a91e9ae7b4b0524ae Mon Sep 17 00:00:00 2001 From: Jaikiran Pai Date: Mon, 16 Jul 2018 10:47:04 +0530 Subject: [PATCH 2/2] Mention the support for SubjectAlternativeName in generatekey task This closes #64 PR at github/apache/ant --- CONTRIBUTORS | 1 + WHATSNEW | 6 ++++++ src/main/org/apache/tools/ant/taskdefs/GenerateKey.java | 1 + 3 files changed, 8 insertions(+) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index bb1705b97..33cf2d432 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 e887ad56a..357168af2 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1,6 +1,12 @@ Changes from Ant 1.9.13 TO Ant 1.9.14 ===================================== +Other changes: +-------------- + * generatekey task now supports SubjectAlternativeName during key + generation. + + Changes from Ant 1.9.12 TO Ant 1.9.13 ===================================== diff --git a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java index d9f8f721e..14709a444 100644 --- a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java +++ b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java @@ -226,6 +226,7 @@ public class GenerateKey extends Task { * 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)) {