summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java')
-rw-r--r--pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java178
1 files changed, 92 insertions, 86 deletions
diff --git a/pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java b/pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java
index d238c2792..a6a61c20a 100644
--- a/pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java
+++ b/pki/base/common/src/com/netscape/cms/listeners/CertificateIssuedListener.java
@@ -17,7 +17,6 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cms.listeners;
-
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
@@ -45,12 +44,11 @@ import com.netscape.certsrv.request.IRequest;
import com.netscape.certsrv.request.IRequestListener;
import com.netscape.certsrv.request.RequestId;
-
/**
* a listener for every completed enrollment request
* <p>
- * Here is a list of available $TOKENs for email notification
- templates if certificate is successfully issued:
+ * Here is a list of available $TOKENs for email notification templates if
+ * certificate is successfully issued:
* <UL>
* <LI>$InstanceID
* <LI>$SerialNumber
@@ -66,13 +64,13 @@ import com.netscape.certsrv.request.RequestId;
* <LI>$RecipientEmail
* </UL>
* <p>
- * Here is a list of available $TOKENs for email notification
- templates if certificate request is rejected:
+ * Here is a list of available $TOKENs for email notification templates if
+ * certificate request is rejected:
* <UL>
* <LI>$RequestId
* <LI>$InstanceID
* </UL>
- *
+ *
* @version $Revision$, $Date$
*/
public class CertificateIssuedListener implements IRequestListener {
@@ -107,7 +105,7 @@ public class CertificateIssuedListener implements IRequestListener {
}
public void init(ISubsystem sub, IConfigStore config)
- throws EListenersException, EPropertyNotFound, EBaseException {
+ throws EListenersException, EPropertyNotFound, EBaseException {
mSubsystem = (ICertAuthority) sub;
mConfig = mSubsystem.getConfigStore();
@@ -118,25 +116,24 @@ public class CertificateIssuedListener implements IRequestListener {
mSenderEmail = rc.getString(PROP_SENDER_EMAIL);
if (mSenderEmail == null) {
- throw new EListenersException(CMS.getLogMessage("NO_NOTIFY_SENDER_EMAIL_CONFIG_FOUND"));
+ throw new EListenersException(
+ CMS.getLogMessage("NO_NOTIFY_SENDER_EMAIL_CONFIG_FOUND"));
}
mFormPath = rc.getString(PROP_EMAIL_TEMPLATE);
String mDir = null;
// figure out the reject email path: same dir as form path,
- // same ending as form path
+ // same ending as form path
int ridx = mFormPath.lastIndexOf(File.separator);
if (ridx == -1) {
- CMS.debug("CertificateIssuedListener: file separator: " + File.separator
- +
- " not found. Use default /");
+ CMS.debug("CertificateIssuedListener: file separator: "
+ + File.separator + " not found. Use default /");
ridx = mFormPath.lastIndexOf("/");
mDir = mFormPath.substring(0, ridx + 1);
} else {
- mDir = mFormPath.substring(0, ridx +
- File.separator.length());
+ mDir = mFormPath.substring(0, ridx + File.separator.length());
}
CMS.debug("CertificateIssuedListener: template file directory: " + mDir);
mRejectPath = mDir + REJECT_FILE_NAME;
@@ -154,7 +151,7 @@ public class CertificateIssuedListener implements IRequestListener {
mDateFormat = DateFormat.getDateTimeInstance();
mSubject_Success = rc.getString(PROP_EMAIL_SUBJECT,
- "Your Certificate Request");
+ "Your Certificate Request");
mSubject = new String(mSubject_Success);
// form the cert retrieval URL for the notification
@@ -166,9 +163,10 @@ public class CertificateIssuedListener implements IRequestListener {
}
public void accept(IRequest r) {
- CMS.debug("CertificateIssuedListener: accept " +
- r.getRequestId().toString());
- if (mEnabled != true) return;
+ CMS.debug("CertificateIssuedListener: accept "
+ + r.getRequestId().toString());
+ if (mEnabled != true)
+ return;
mSubject = mSubject_Success;
mReqId = r.getRequestId();
@@ -190,17 +188,18 @@ public class CertificateIssuedListener implements IRequestListener {
if (profileId == null) {
if (r.getExtDataInInteger(IRequest.RESULT) == null)
return;
- if ((r.getExtDataInInteger(IRequest.RESULT)).equals(IRequest.RES_ERROR)) {
- CMS.debug("CertificateIssuedListener: Request errored. " +
- "No need to email notify for enrollment request id " +
- mReqId);
+ if ((r.getExtDataInInteger(IRequest.RESULT))
+ .equals(IRequest.RES_ERROR)) {
+ CMS.debug("CertificateIssuedListener: Request errored. "
+ + "No need to email notify for enrollment request id "
+ + mReqId);
return;
}
}
String requestType = r.getRequestType();
- if (requestType.equals(IRequest.ENROLLMENT_REQUEST) ||
- requestType.equals(IRequest.RENEWAL_REQUEST)) {
+ if (requestType.equals(IRequest.ENROLLMENT_REQUEST)
+ || requestType.equals(IRequest.RENEWAL_REQUEST)) {
CMS.debug("accept() enrollment/renewal request...");
// Get the certificate from the request
X509CertImpl issuedCert[] = null;
@@ -210,8 +209,8 @@ public class CertificateIssuedListener implements IRequestListener {
issuedCert = r.getExtDataInCertArray(IRequest.ISSUED_CERTS);
} else {
issuedCert = new X509CertImpl[1];
- issuedCert[0] =
- r.getExtDataInCert(IEnrollProfile.REQUEST_ISSUED_CERT);
+ issuedCert[0] = r
+ .getExtDataInCert(IEnrollProfile.REQUEST_ISSUED_CERT);
}
if (issuedCert != null) {
@@ -223,11 +222,10 @@ public class CertificateIssuedListener implements IRequestListener {
try {
keys.set(IEmailResolverKeys.KEY_REQUEST, r);
- keys.set(IEmailResolverKeys.KEY_CERT,
- issuedCert[0]);
+ keys.set(IEmailResolverKeys.KEY_CERT, issuedCert[0]);
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_SET_RESOLVER", e.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_SET_RESOLVER", e.toString()));
}
IEmailResolver er = CMS.getReqCertSANameEmailResolver();
@@ -235,31 +233,29 @@ public class CertificateIssuedListener implements IRequestListener {
try {
mEmail = er.getEmail(keys);
} catch (ENotificationException e) {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_EXCEPTION",
- e.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_EXCEPTION", e.toString()));
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_EXCEPTION",
- e.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_EXCEPTION", e.toString()));
} catch (Exception e) {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_EXCEPTION",
- e.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_EXCEPTION", e.toString()));
}
-
+
// now we can mail
if ((mEmail != null) && (!mEmail.equals(""))) {
mailIt(mEmail, issuedCert);
} else {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_NOTIFY_ERROR",
- issuedCert[0].getSerialNumber().toString(), mReqId.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_NOTIFY_ERROR", issuedCert[0]
+ .getSerialNumber().toString(), mReqId
+ .toString()));
// send failure notification to "sender"
mSubject = "Certificate Issued notification undeliverable";
mailIt(mSenderEmail, issuedCert);
}
- }
+ }
}
}
@@ -282,7 +278,7 @@ public class CertificateIssuedListener implements IRequestListener {
if (!template.init()) {
return;
}
-
+
buildContentParams(issuedCert, mEmail);
IEmailFormProcessor et = CMS.getEmailFormProcessor();
String c = et.getEmailContent(template.toString(), mContentParams);
@@ -292,22 +288,23 @@ public class CertificateIssuedListener implements IRequestListener {
}
mn.setContent(c);
} else {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_TEMPLATE_ERROR",
- issuedCert[0].getSerialNumber().toString(), mReqId.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_TEMPLATE_ERROR", issuedCert[0]
+ .getSerialNumber().toString(), mReqId.toString()));
- mn.setContent("Serial Number = " +
- issuedCert[0].getSerialNumber() +
- "; Request ID = " + mReqId);
+ mn.setContent("Serial Number = " + issuedCert[0].getSerialNumber()
+ + "; Request ID = " + mReqId);
}
-
+
try {
mn.sendNotification();
} catch (ENotificationException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
-
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+
} catch (IOException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
}
}
@@ -320,7 +317,8 @@ public class CertificateIssuedListener implements IRequestListener {
keys.set(IEmailResolverKeys.KEY_REQUEST, r);
} catch (EBaseException e) {
log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_SET_RESOLVER", e.toString()));
+ CMS.getLogMessage("LISTENERS_CERT_ISSUED_SET_RESOLVER",
+ e.toString()));
}
IEmailResolver er = CMS.getReqCertSANameEmailResolver();
@@ -328,11 +326,14 @@ public class CertificateIssuedListener implements IRequestListener {
try {
mEmail = er.getEmail(keys);
} catch (ENotificationException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
} catch (EBaseException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
} catch (Exception e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
}
// now we can mail
@@ -352,23 +353,25 @@ public class CertificateIssuedListener implements IRequestListener {
if (!template.init()) {
return;
}
-
+
if (template.isHTML()) {
mn.setContentType("text/html");
}
// build some token data
mContentParams.put(IEmailFormProcessor.TOKEN_ID,
- mConfig.getName());
+ mConfig.getName());
mReqId = r.getRequestId();
mContentParams.put(IEmailFormProcessor.TOKEN_REQUEST_ID,
- (Object) mReqId.toString());
+ (Object) mReqId.toString());
IEmailFormProcessor et = CMS.getEmailFormProcessor();
- String c = et.getEmailContent(template.toString(), mContentParams);
+ String c = et.getEmailContent(template.toString(),
+ mContentParams);
mn.setContent(c);
} else {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("LISTENERS_CERT_ISSUED_REJECTION"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("LISTENERS_CERT_ISSUED_REJECTION"));
mn.setContent("Your Certificate Request has been rejected. Please contact your administrator for assistance");
}
@@ -376,49 +379,52 @@ public class CertificateIssuedListener implements IRequestListener {
mn.sendNotification();
} catch (ENotificationException e) {
// already logged, lets audit
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
-
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+
} catch (IOException e) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("OPERATION_ERROR", e.toString()));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("OPERATION_ERROR", e.toString()));
}
} else {
- log(ILogger.LL_FAILURE,
- CMS.getLogMessage("LISTENERS_CERT_ISSUED_REJECTION_NOTIFICATION", mReqId.toString()));
+ log(ILogger.LL_FAILURE, CMS.getLogMessage(
+ "LISTENERS_CERT_ISSUED_REJECTION_NOTIFICATION",
+ mReqId.toString()));
}
}
private void buildContentParams(X509CertImpl issuedCert[], String mEmail) {
- mContentParams.put(IEmailFormProcessor.TOKEN_ID,
- mConfig.getName());
+ mContentParams.put(IEmailFormProcessor.TOKEN_ID, mConfig.getName());
mContentParams.put(IEmailFormProcessor.TOKEN_SERIAL_NUM,
- (Object) issuedCert[0].getSerialNumber().toString());
+ (Object) issuedCert[0].getSerialNumber().toString());
mContentParams.put(IEmailFormProcessor.TOKEN_HEX_SERIAL_NUM,
- (Object) Long.toHexString(issuedCert[0].getSerialNumber().longValue()));
+ (Object) Long.toHexString(issuedCert[0].getSerialNumber()
+ .longValue()));
mContentParams.put(IEmailFormProcessor.TOKEN_REQUEST_ID,
- (Object) mReqId.toString());
+ (Object) mReqId.toString());
mContentParams.put(IEmailFormProcessor.TOKEN_HTTP_HOST,
- (Object) mHttpHost);
+ (Object) mHttpHost);
mContentParams.put(IEmailFormProcessor.TOKEN_HTTP_PORT,
- (Object) mHttpPort);
+ (Object) mHttpPort);
mContentParams.put(IEmailFormProcessor.TOKEN_ISSUER_DN,
- (Object) issuedCert[0].getIssuerDN().toString());
+ (Object) issuedCert[0].getIssuerDN().toString());
mContentParams.put(IEmailFormProcessor.TOKEN_SUBJECT_DN,
- (Object) issuedCert[0].getSubjectDN().toString());
+ (Object) issuedCert[0].getSubjectDN().toString());
Date date = (Date) issuedCert[0].getNotAfter();
mContentParams.put(IEmailFormProcessor.TOKEN_NOT_AFTER,
- mDateFormat.format(date));
+ mDateFormat.format(date));
date = (Date) issuedCert[0].getNotBefore();
mContentParams.put(IEmailFormProcessor.TOKEN_NOT_BEFORE,
- mDateFormat.format(date));
+ mDateFormat.format(date));
mContentParams.put(IEmailFormProcessor.TOKEN_SENDER_EMAIL,
- (Object) mSenderEmail);
+ (Object) mSenderEmail);
mContentParams.put(IEmailFormProcessor.TOKEN_RECIPIENT_EMAIL,
- (Object) mEmail);
+ (Object) mEmail);
// ... and more
}
@@ -440,15 +446,15 @@ public class CertificateIssuedListener implements IRequestListener {
} else if (name.equalsIgnoreCase(PROP_EMAIL_TEMPLATE)) {
mFormPath = val;
} else {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("LISTENERS_CERT_ISSUED_SET"));
+ log(ILogger.LL_FAILURE,
+ CMS.getLogMessage("LISTENERS_CERT_ISSUED_SET"));
}
}
private void log(int level, String msg) {
if (mLogger == null)
return;
- mLogger.log(ILogger.EV_SYSTEM, null, ILogger.S_OTHER,
- level, msg);
+ mLogger.log(ILogger.EV_SYSTEM, null, ILogger.S_OTHER, level, msg);
}
}