PKI CA Java API - dogtagpki/pki GitHub Wiki
To create a CA session:
CAClient caClient = new CAClient(client); AccountInfo accountInfo = caClient.login();
The AccountInfo contains information about the subsystem user (e.g. user ID, full name, email, roles).
To remove the session:
caClient.logout();
See also CAClient.java.
CertClient certClient = new CertClient(caClient);
CertDataInfos certInfos = certClient.findCerts(status, maxResults, maxTime, start, size);
for (CertDataInfo certInfo : certInfos.getEntries()) {
System.out.println("Cert ID: " + certInfo.getID());
System.out.println("Subject DN: " + certInfo.getSubjectDN());
System.out.println();
}
CertSearchRequest request = new CertSearchRequest();
request.setCommonName("CA Signing Certificate");
CertDataInfos certInfos = certClient.findCerts(request, start, size);
for (CertDataInfo certInfo : certInfos.getEntries()) {
System.out.println("Cert ID: " + certInfo.getID());
System.out.println("Subject DN: " + certInfo.getSubjectDN());
System.out.println();
}
CertData certData = certClient.getCert(id); System.out.println(certData.getEncoded());
CertData certData = certClient.reviewCert(id);
CertRevokeRequest request = new CertRevokeRequest();
request.setReason(RevocationReason.CERTIFICATE_HOLD);
request.setNonce(certData.getNonce());
CertRequestInfo requestInfo = certClient.revokeCert(id, request);
System.out.println("Request status: " + requestInfo.getRequestStatus());
System.out.println("Operation result: " + requestInfo.getOperationResult());
System.out.println("Error message: " + requestInfo.getErrorMessage());
CertRequestInfo requestInfo = certClient.unrevokeCert(id);
System.out.println("Request status: " + requestInfo.getRequestStatus());
System.out.println("Operation result: " + requestInfo.getOperationResult());
System.out.println("Error message: " + requestInfo.getErrorMessage());
ProfileDataInfos infos = certClient.listEnrollmentTemplates(start, size);
for (ProfileDataInfo info : infos.getEntries()) {
System.out.println("Profile ID: " + info.getProfileId());
}
CertEnrollmentRequest certRequest = certClient.getEnrollmentTemplate(profileID);
CertRequestInfos requestInfos = certClient.listRequests(status, type, startID, pageSize, maxResult, maxTime);
for (CertRequestInfo requestInfo : requestInfos.getEntries()) {
System.out.println("Request ID: " + requestInfo.getRequestId());
System.out.println();
}
CertRequestInfo requestInfo = certClient.getRequest(requestID);
System.out.println("Request status: " + requestInfo.getRequestStatus());
CertEnrollmentRequest certRequest = certClient.getEnrollmentTemplate(profileID);
... <store profile inputs> ...
CertRequestInfos requestInfos = certClient.enrollRequest(certRequest, authorityID, authorityDN);
for (CertRequestInfo requestInfo : requestInfos.getEntries()) {
System.out.println("Request ID: " + requestInfo.getRequestId());
}
CertReviewResponse reviewResponse = certClient.reviewRequest(requestID); certClient.approveRequest(requestID, reviewResponse);
CertReviewResponse reviewResponse = certClient.reviewRequest(requestID); certClient.rejectRequest(requestID, reviewResponse);
CertReviewResponse reviewResponse = certClient.reviewRequest(requestID); certClient.cancelRequest(requestID, reviewResponse);
CertReviewResponse reviewResponse = certClient.reviewRequest(requestID); certClient.updateRequest(requestID, reviewResponse);
CertReviewResponse reviewResponse = certClient.reviewRequest(requestID); certClient.validateRequest(requestID, reviewResponse);
CertReviewResponse reviewResponse = certClient.reviewRequest(requestID); certClient.assignRequest(requestID, reviewResponse);