diff options
author | Endi S. Dewata <edewata@redhat.com> | 2014-07-07 19:47:29 -0400 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2014-07-09 18:47:45 -0400 |
commit | 8f3c7807a2efc4d2699f36795cb9685bf4203c38 (patch) | |
tree | 2d6c29e25d5f3667bc6495c62b85c97a8443f3e8 /base/server/cms/src/com/netscape/cms/servlet/base | |
parent | fdc9f763cbb9733cc671e23034bd719df4a14247 (diff) | |
download | pki-8f3c7807a2efc4d2699f36795cb9685bf4203c38.tar.gz pki-8f3c7807a2efc4d2699f36795cb9685bf4203c38.tar.xz pki-8f3c7807a2efc4d2699f36795cb9685bf4203c38.zip |
Added transport cert attributes.
The REST service has been modified to return additional attributes
for transport certificate including serial number, issuer DN,
subject DN, and resource link.
Ticket #1065
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/base')
-rw-r--r-- | base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java b/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java index 9d274705b..b958791bb 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java +++ b/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java @@ -19,6 +19,7 @@ package com.netscape.cms.servlet.base; import java.lang.reflect.Method; import java.net.URI; +import java.security.Principal; import java.security.cert.CertificateEncodingException; import java.util.Arrays; import java.util.HashMap; @@ -39,6 +40,7 @@ import javax.ws.rs.core.Response.ResponseBuilder; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.cert.CertData; +import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.certsrv.logging.IAuditor; import com.netscape.certsrv.logging.ILogger; @@ -168,9 +170,20 @@ public class PKIService { public CertData createCertificateData(org.mozilla.jss.crypto.X509Certificate cert) throws CertificateEncodingException { + CertData data = new CertData(); + + data.setSerialNumber(new CertId(cert.getSerialNumber())); + + Principal issuerDN = cert.getIssuerDN(); + if (issuerDN != null) data.setIssuerDN(issuerDN.toString()); + + Principal subjectDN = cert.getSubjectDN(); + if (subjectDN != null) data.setSubjectDN(subjectDN.toString()); + String b64 = CertData.HEADER + "\n" + CMS.BtoA(cert.getEncoded()) + CertData.FOOTER; data.setEncoded(b64); + return data; } |