summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2017-03-23 23:33:03 +0100
committerEndi S. Dewata <edewata@redhat.com>2017-03-24 16:39:30 +0100
commit784180f3bce1adb5c914a0fa530e252044038ed1 (patch)
treeaf71074df027faa155826e93a8f2d02acb5c75e9 /base/java-tools/src/com/netscape/cmstools
parent103e81f10927b486d3a455ef8092667b78612d1f (diff)
downloadpki-784180f3bce1adb5c914a0fa530e252044038ed1.tar.gz
pki-784180f3bce1adb5c914a0fa530e252044038ed1.tar.xz
pki-784180f3bce1adb5c914a0fa530e252044038ed1.zip
Refactored CA CertCLI.
The CA CertCLI and its submodules have been modified to use lazy initialization to get the PKIClient object.
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java23
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java4
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java8
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java8
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java4
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java4
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java4
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java20
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java4
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java7
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java10
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java4
12 files changed, 61 insertions, 39 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java
index 14e4a53d6..968708440 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java
@@ -29,6 +29,7 @@ import com.netscape.certsrv.cert.CertDataInfo;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.cert.CertRequestInfos;
import com.netscape.certsrv.cert.CertReviewResponse;
+import com.netscape.certsrv.client.PKIClient;
import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
@@ -73,22 +74,20 @@ public class CertCLI extends CLI {
return "pki-cert";
}
- public void execute(String[] args) throws Exception {
+ public CertClient getCertClient() throws Exception {
- client = parent.getClient();
- certClient = (CertClient)parent.getClient("cert");
+ if (certClient != null) return certClient;
- // if this is a top-level command
- if (certClient == null) {
- // determine the subsystem
- String subsystem = client.getSubsystem();
- if (subsystem == null) subsystem = "ca";
+ PKIClient client = getClient();
- // create new cert client
- certClient = new CertClient(client, subsystem);
- }
+ // determine the subsystem
+ String subsystem = client.getSubsystem();
+ if (subsystem == null) subsystem = "ca";
+
+ // create new cert client
+ certClient = new CertClient(client, subsystem);
- super.execute(args);
+ return certClient;
}
public static String getAlgorithmNameFromOID(String oid) {
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
index 1a9e4de1f..8320619f2 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
@@ -27,6 +27,7 @@ import java.util.Date;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertDataInfo;
import com.netscape.certsrv.cert.CertDataInfos;
import com.netscape.certsrv.cert.CertSearchRequest;
@@ -244,7 +245,8 @@ public class CertFindCLI extends CLI {
addSearchAttribute(cmd, searchData);
- CertDataInfos certs = certCLI.certClient.findCerts(searchData, start, size);
+ CertClient certClient = certCLI.getCertClient();
+ CertDataInfos certs = certClient.findCerts(searchData, start, size);
MainCLI.printMessage(certs.getTotal() + " entries found");
if (certs.getTotal() == 0) return;
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java
index 9c30ee003..28a2da092 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertData;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.cert.CertRevokeRequest;
@@ -77,7 +78,8 @@ public class CertHoldCLI extends CLI {
}
CertId certID = new CertId(cmdArgs[0]);
- CertData certData = certCLI.certClient.reviewCert(certID);
+ CertClient certClient = certCLI.getCertClient();
+ CertData certData = certClient.reviewCert(certID);
if (!cmd.hasOption("force")) {
@@ -101,7 +103,7 @@ public class CertHoldCLI extends CLI {
request.setComments(cmd.getOptionValue("comments"));
request.setNonce(certData.getNonce());
- CertRequestInfo certRequestInfo = certCLI.certClient.revokeCert(certID, request);
+ CertRequestInfo certRequestInfo = certClient.revokeCert(certID, request);
if (verbose) {
CertCLI.printCertRequestInfo(certRequestInfo);
@@ -116,7 +118,7 @@ public class CertHoldCLI extends CLI {
MainCLI.printMessage("Could not place certificate \"" + certID.toHexString() + "\" on-hold");
} else {
MainCLI.printMessage("Placed certificate \"" + certID.toHexString() + "\" on-hold");
- certData = certCLI.certClient.getCert(certID);
+ certData = certClient.getCert(certID);
CertCLI.printCertData(certData, false, false);
}
} else {
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java
index a76728255..3166d4ce0 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java
@@ -24,6 +24,7 @@ import java.util.Arrays;
import org.apache.commons.cli.CommandLine;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertData;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.dbs.certdb.CertId;
@@ -69,10 +70,11 @@ public class CertReleaseHoldCLI extends CLI {
}
CertId certID = new CertId(cmdArgs[0]);
+ CertClient certClient = certCLI.getCertClient();
if (!cmd.hasOption("force")) {
- CertData certData = certCLI.certClient.getCert(certID);
+ CertData certData = certClient.getCert(certID);
System.out.println("Placing certificate off-hold:");
@@ -88,7 +90,7 @@ public class CertReleaseHoldCLI extends CLI {
}
}
- CertRequestInfo certRequestInfo = certCLI.certClient.unrevokeCert(certID);
+ CertRequestInfo certRequestInfo = certClient.unrevokeCert(certID);
if (verbose) {
CertCLI.printCertRequestInfo(certRequestInfo);
@@ -103,7 +105,7 @@ public class CertReleaseHoldCLI extends CLI {
MainCLI.printMessage("Could not place certificate \"" + certID.toHexString() + "\" off-hold");
} else {
MainCLI.printMessage("Placed certificate \"" + certID.toHexString() + "\" off-hold");
- CertData certData = certCLI.certClient.getCert(certID);
+ CertData certData = certClient.getCert(certID);
CertCLI.printCertData(certData, false, false);
}
} else {
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java
index 71d669e50..460b1a8d3 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java
@@ -24,6 +24,7 @@ import java.util.Collection;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.cert.CertRequestInfos;
import com.netscape.certsrv.request.RequestId;
@@ -113,7 +114,8 @@ public class CertRequestFindCLI extends CLI {
String requestType = cmd.getOptionValue("type");
if (requestType != null && requestType.equals("all")) requestType = null;
- CertRequestInfos response = certCLI.certClient.listRequests(requestState, requestType, start, size, maxResults, maxTime);
+ CertClient certClient = certCLI.getCertClient();
+ CertRequestInfos response = certClient.listRequests(requestState, requestType, start, size, maxResults, maxTime);
MainCLI.printMessage(response.getTotal() + " entries matched");
if (response.getTotal() == 0) return;
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java
index 220ee7c18..c9be315ae 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java
@@ -6,6 +6,7 @@ import java.util.Collection;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.profile.ProfileDataInfo;
import com.netscape.certsrv.profile.ProfileDataInfos;
import com.netscape.cmstools.cli.CLI;
@@ -58,7 +59,8 @@ public class CertRequestProfileFindCLI extends CLI {
s = cmd.getOptionValue("size");
Integer size = s == null ? null : Integer.valueOf(s);
- ProfileDataInfos response = certCLI.certClient.listEnrollmentTemplates(start, size);
+ CertClient certClient = certCLI.getCertClient();
+ ProfileDataInfos response = certClient.listEnrollmentTemplates(start, size);
MainCLI.printMessage(response.getTotal() + " entries matched");
if (response.getTotal() == 0) return;
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java
index cb3a79bfb..ba33bc1c2 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java
@@ -5,6 +5,7 @@ import java.util.Arrays;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertEnrollmentRequest;
import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
@@ -57,7 +58,8 @@ public class CertRequestProfileShowCLI extends CLI {
}
}
- CertEnrollmentRequest request = certCLI.certClient.getEnrollmentTemplate(profileId);
+ CertClient certClient = certCLI.getCertClient();
+ CertEnrollmentRequest request = certClient.getEnrollmentTemplate(profileId);
MainCLI.printMessage("Enrollment Template for Profile \"" + profileId + "\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java
index bc3df309a..fcfefa847 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java
@@ -15,6 +15,7 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.lang.StringUtils;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.cert.CertReviewResponse;
import com.netscape.certsrv.request.RequestId;
@@ -98,7 +99,8 @@ public class CertRequestReviewCLI extends CLI {
}
// Retrieve certificate request.
- CertReviewResponse reviewInfo = certCLI.certClient.reviewRequest(requestId);
+ CertClient certClient = certCLI.getCertClient();
+ CertReviewResponse reviewInfo = certClient.reviewRequest(requestId);
if (action == null) {
// Store certificate request in a file.
@@ -133,38 +135,38 @@ public class CertRequestReviewCLI extends CLI {
}
if (action.equalsIgnoreCase("approve")) {
- certCLI.certClient.approveRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.approveRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Approved certificate request " + requestId);
} else if (action.equalsIgnoreCase("reject")) {
- certCLI.certClient.rejectRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.rejectRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Rejected certificate request " + requestId);
} else if (action.equalsIgnoreCase("cancel")) {
- certCLI.certClient.cancelRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.cancelRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Canceled certificate request " + requestId);
} else if (action.equalsIgnoreCase("update")) {
- certCLI.certClient.updateRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.updateRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Updated certificate request " + requestId);
} else if (action.equalsIgnoreCase("validate")) {
- certCLI.certClient.validateRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.validateRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Validated certificate request " + requestId);
} else if (action.equalsIgnoreCase("assign")) {
- certCLI.certClient.assignRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.assignRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Assigned certificate request " + requestId);
} else if (action.equalsIgnoreCase("unassign")) {
- certCLI.certClient.unassignRequest(reviewInfo.getRequestId(), reviewInfo);
+ certClient.unassignRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Unassigned certificate request " + requestId);
} else {
throw new Exception("Invalid action: " + action);
}
- CertRequestInfo certRequest = certCLI.certClient.getRequest(requestId);
+ CertRequestInfo certRequest = certClient.getRequest(requestId);
CertCLI.printCertRequestInfo(certRequest);
}
}
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java
index 6df333eae..079cf6049 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java
@@ -4,6 +4,7 @@ import java.util.Arrays;
import org.apache.commons.cli.CommandLine;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.request.RequestId;
import com.netscape.cmstools.cli.CLI;
@@ -47,7 +48,8 @@ public class CertRequestShowCLI extends CLI {
throw new Exception("Invalid certificate request ID " + cmdArgs[0] + ".", e);
}
- CertRequestInfo certRequest = certCLI.certClient.getRequest(requestId);
+ CertClient certClient = certCLI.getCertClient();
+ CertRequestInfo certRequest = certClient.getRequest(requestId);
MainCLI.printMessage("Certificate request \"" + requestId + "\"");
CertCLI.printCertRequestInfo(certRequest);
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java
index e49dba240..fbccc4ce4 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java
@@ -14,6 +14,7 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import com.netscape.certsrv.ca.AuthorityID;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertEnrollmentRequest;
import com.netscape.certsrv.cert.CertRequestInfos;
import com.netscape.certsrv.dbs.certdb.CertId;
@@ -133,7 +134,8 @@ public class CertRequestSubmitCLI extends CLI {
System.out.println("Retrieving " + profileID + " profile.");
}
- request = certCLI.certClient.getEnrollmentTemplate(profileID);
+ CertClient certClient = certCLI.getCertClient();
+ request = certClient.getEnrollmentTemplate(profileID);
// set default request type for new request
if (requestType == null) requestType = "pkcs10";
@@ -258,7 +260,8 @@ public class CertRequestSubmitCLI extends CLI {
System.out.println(request);
}
- CertRequestInfos cri = certCLI.certClient.enrollRequest(request, aid, adn);
+ CertClient certClient = certCLI.getCertClient();
+ CertRequestInfos cri = certClient.enrollRequest(request, aid, adn);
MainCLI.printMessage("Submitted certificate request");
CertCLI.printCertRequestInfos(cri);
}
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java
index e61401b90..ecc3f801a 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertData;
import com.netscape.certsrv.cert.CertRequestInfo;
import com.netscape.certsrv.cert.CertRevokeRequest;
@@ -102,7 +103,8 @@ public class CertRevokeCLI extends CLI {
throw new Exception("Invalid revocation reason: " + string);
}
- CertData certData = certCLI.certClient.reviewCert(certID);
+ CertClient certClient = certCLI.getCertClient();
+ CertData certData = certClient.reviewCert(certID);
if (!cmd.hasOption("force")) {
@@ -135,9 +137,9 @@ public class CertRevokeCLI extends CLI {
CertRequestInfo certRequestInfo;
if (cmd.hasOption("ca")) {
- certRequestInfo = certCLI.certClient.revokeCACert(certID, request);
+ certRequestInfo = certClient.revokeCACert(certID, request);
} else {
- certRequestInfo = certCLI.certClient.revokeCert(certID, request);
+ certRequestInfo = certClient.revokeCert(certID, request);
}
if (verbose) {
@@ -160,7 +162,7 @@ public class CertRevokeCLI extends CLI {
MainCLI.printMessage("Revoked certificate \"" + certID.toHexString() + "\"");
}
- certData = certCLI.certClient.getCert(certID);
+ certData = certClient.getCert(certID);
CertCLI.printCertData(certData, false, false);
}
} else {
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java
index a31b02253..cf3802705 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
+import com.netscape.certsrv.cert.CertClient;
import com.netscape.certsrv.cert.CertData;
import com.netscape.certsrv.dbs.certdb.CertId;
import com.netscape.cmstools.cli.CLI;
@@ -78,7 +79,8 @@ public class CertShowCLI extends CLI {
CertId certID = new CertId(cmdArgs[0]);
String file = cmd.getOptionValue("output");
- CertData certData = certCLI.certClient.getCert(certID);
+ CertClient certClient = certCLI.getCertClient();
+ CertData certData = certClient.getCert(certID);
String encoded = certData.getEncoded();
if (encoded != null && file != null) {