diff options
| author | Endi S. Dewata <edewata@redhat.com> | 2017-03-23 23:33:03 +0100 |
|---|---|---|
| committer | Endi S. Dewata <edewata@redhat.com> | 2017-03-24 16:39:30 +0100 |
| commit | 784180f3bce1adb5c914a0fa530e252044038ed1 (patch) | |
| tree | af71074df027faa155826e93a8f2d02acb5c75e9 /base/java-tools/src/com/netscape/cmstools | |
| parent | 103e81f10927b486d3a455ef8092667b78612d1f (diff) | |
| download | pki-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')
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) { |
