summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorJack Magne <jmagne@dhcp-16-206.sjc.redhat.com>2016-06-01 15:05:20 -0700
committerJack Magne <jmagne@dhcp-16-206.sjc.redhat.com>2016-06-03 15:11:55 -0700
commit3cd58a98022141da2af4bf0bad29ab1dbdc86fbe (patch)
tree80cfd50e4ec20c6d98690b928be6405bca91c2a6 /base
parent62e0c676137e9dd67135f2027d419a5fc161216f (diff)
downloadpki-3cd58a98022141da2af4bf0bad29ab1dbdc86fbe.tar.gz
pki-3cd58a98022141da2af4bf0bad29ab1dbdc86fbe.tar.xz
pki-3cd58a98022141da2af4bf0bad29ab1dbdc86fbe.zip
Show KeyOwner info when viewing recovery requests.
This simple fix will grab the subject info out of the cert associated with either pending or complete recovery requests being viewed in the KRA UI. For example: KeyOwner: UID=jmagne, O=Token Key User Will be displayed. This simple fix should be good enough for this round, despite the bug asking about agent info and such. Ticket : Ticket #1512 : Key owner info missing from the Search results of Recovery request
Diffstat (limited to 'base')
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/request/CertReqParser.java27
1 files changed, 25 insertions, 2 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/request/CertReqParser.java b/base/server/cms/src/com/netscape/cms/servlet/request/CertReqParser.java
index fd4589437..03975ac4f 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/request/CertReqParser.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/request/CertReqParser.java
@@ -59,6 +59,7 @@ import com.netscape.certsrv.request.RequestStatus;
import com.netscape.cms.servlet.common.CMSTemplate;
import com.netscape.cms.servlet.common.CMSTemplateParams;
import com.netscape.cms.servlet.common.RawJS;
+import com.netscape.cmsutil.util.Utils;
/**
* Output a 'pretty print' of a certificate request
@@ -653,8 +654,10 @@ public class CertReqParser extends ReqParser {
arg.addStringValue("certExtsEnabled", "yes");
String profile = req.getExtDataInString("profile");
+ String reqType = req.getExtDataInString(IRequest.ATTR_REQUEST_TYPE);
//CMS.debug("CertReqParser: profile=" + profile);
+ //profile null can mean either recovery case or TMS reqs
if (profile != null) {
arg.addStringValue("profile", profile);
String requestorDN = getRequestorDN(req);
@@ -662,13 +665,33 @@ public class CertReqParser extends ReqParser {
if (requestorDN != null) {
arg.addStringValue("subject", requestorDN);
}
- } else {
+ } else if (IRequest.KEYRECOVERY_REQUEST.equals(reqType)) {
+ arg.addStringValue("profile", "false");
+
+ String cert = req.getExtDataInString("cert");
+
+ if (cert != null) {
+
+ X509CertImpl theCert = null;
+ try {
+ theCert = new X509CertImpl(Utils.base64decode(cert));
+ } catch (CertificateException e) {
+ }
+
+ if (theCert != null) {
+ String subject = theCert.getSubjectDN().toString();
+ arg.addStringValue("subject", subject);
+ }
+ }
+
+ } else { //TMS
arg.addStringValue("profile", "false");
String keyID = getKeyID(req);
- if (keyID != null) {
+ if (keyID != null && !keyID.isEmpty()) {
arg.addStringValue("subject", keyID);
}
+
}
int saCounter = 0;