Browse Source

Add support for SAN extension in GenerateKey task

master
Karl Jansen Jaikiran Pai 7 years ago
parent
commit
05d05a0bd6
1 changed files with 22 additions and 2 deletions
  1. +22
    -2
      src/main/org/apache/tools/ant/taskdefs/GenerateKey.java

+ 22
- 2
src/main/org/apache/tools/ant/taskdefs/GenerateKey.java View File

@@ -181,6 +181,7 @@ public class GenerateKey extends Task {


protected String sigalg; protected String sigalg;
protected String keyalg; protected String keyalg;
protected String saname;
protected String dname; protected String dname;
protected DistinguishedName expandedDname; protected DistinguishedName expandedDname;
protected int keysize; protected int keysize;
@@ -221,6 +222,20 @@ public class GenerateKey extends Task {
this.dname = dname; 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. * The alias to add under.
* *
@@ -400,7 +415,6 @@ public class GenerateKey extends Task {
sb.append("\" "); sb.append("\" ");
} }



if (0 < keysize) { if (0 < keysize) {
sb.append("-keysize \""); sb.append("-keysize \"");
sb.append(keysize); sb.append(keysize);
@@ -413,6 +427,13 @@ public class GenerateKey extends Task {
sb.append("\" "); sb.append("\" ");
} }


if (null != saname) {
sb.append("-ext ");
sb.append("\"san=");
sb.append(saname);
sb.append("\" ");
}

log("Generating Key for " + alias); log("Generating Key for " + alias);
final ExecTask cmd = new ExecTask(this); final ExecTask cmd = new ExecTask(this);
cmd.setExecutable(JavaEnvUtils.getJdkExecutable("keytool")); cmd.setExecutable(JavaEnvUtils.getJdkExecutable("keytool"));
@@ -423,4 +444,3 @@ public class GenerateKey extends Task {
cmd.execute(); cmd.execute();
} }
} }


Loading…
Cancel
Save