diff options
author | Jack Magne <jmagne@dhcp-16-206.sjc.redhat.com> | 2016-06-01 15:05:20 -0700 |
---|---|---|
committer | Jack Magne <jmagne@dhcp-16-206.sjc.redhat.com> | 2016-06-03 15:11:55 -0700 |
commit | 3cd58a98022141da2af4bf0bad29ab1dbdc86fbe (patch) | |
tree | 80cfd50e4ec20c6d98690b928be6405bca91c2a6 /base | |
parent | 62e0c676137e9dd67135f2027d419a5fc161216f (diff) | |
download | pki-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.java | 27 |
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; |