Repository: ant
Updated Branches:
  refs/heads/master f5b7d05ef -> d57727856


Add support for SAN extension in GenerateKey task


Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/05d05a0b
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/05d05a0b
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/05d05a0b

Branch: refs/heads/master
Commit: 05d05a0bd6636f86ffebe165817b1e5cd508bc31
Parents: cd458ba
Author: Karl Jansen <[email protected]>
Authored: Wed Jul 11 14:19:29 2018 -0700
Committer: Jaikiran Pai <[email protected]>
Committed: Mon Jul 16 10:41:22 2018 +0530

----------------------------------------------------------------------
 .../apache/tools/ant/taskdefs/GenerateKey.java  | 24 ++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant/blob/05d05a0b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java 
b/src/main/org/apache/tools/ant/taskdefs/GenerateKey.java
index c26ac36..d9f8f72 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;
@@ -222,6 +223,20 @@ public class GenerateKey extends Task {
     }
 
     /**
+     * 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.
      *
      * @param alias 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();
     }
 }
-

Reply via email to