diff options
| author | Christina Fu <cfu@redhat.com> | 2014-04-04 16:25:37 -0700 |
|---|---|---|
| committer | Christina Fu <cfu@redhat.com> | 2014-04-09 16:47:46 -0700 |
| commit | a6e67c277f8e7e75bc59659536abfe7797b8f8dc (patch) | |
| tree | 2b7c05cda10d90bd11baeb4ecbfaddf7df84ad52 /base/server/cms/src | |
| parent | 9738598e37effc5f68e8f2d211a6273b8846a6fc (diff) | |
trac ticket #888 part2 CA/KRA functions - TPS rewrite: provide remote authority functions
Diffstat (limited to 'base/server/cms/src')
5 files changed, 100 insertions, 46 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java b/base/server/cms/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java index 63806e659..39eb976a1 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java +++ b/base/server/cms/src/com/netscape/cms/servlet/cert/DoRevokeTPS.java @@ -63,6 +63,8 @@ import com.netscape.cms.servlet.common.CMSTemplate; import com.netscape.cms.servlet.common.CMSTemplateParams; import com.netscape.cms.servlet.common.ECMSGWException; +import org.dogtagpki.server.connector.IRemoteRequest; + /** * Revoke a Certificate * @@ -184,24 +186,24 @@ public class DoRevokeTPS extends CMSServlet { CMSTemplateParams argSet = new CMSTemplateParams(header, ctx); try { - if (req.getParameter("revocationReason") != null) { + if (req.getParameter(IRemoteRequest.CA_REVOCATION_REASON) != null) { reason = Integer.parseInt(req.getParameter( - "revocationReason")); + IRemoteRequest.CA_REVOCATION_REASON)); } - if (req.getParameter("totalRecordCount") != null) { + if (req.getParameter(IRemoteRequest.CA_REVOKE_COUNT) != null) { totalRecordCount = Integer.parseInt(req.getParameter( - "totalRecordCount")); + IRemoteRequest.CA_REVOKE_COUNT)); } - if (req.getParameter("invalidityDate") != null) { + if (req.getParameter(IRemoteRequest.CA_REVOKE_INVALID_DATE) != null) { long l = Long.parseLong(req.getParameter( - "invalidityDate")); + IRemoteRequest.CA_REVOKE_INVALID_DATE)); if (l > 0) { invalidityDate = new Date(l); } } - revokeAll = req.getParameter("revokeAll"); - String comments = req.getParameter(IRequest.REQUESTOR_COMMENTS); + revokeAll = req.getParameter(IRemoteRequest.CA_REVOKE_ALL); + String comments = req.getParameter(IRemoteRequest.CA_REVOKE_REQUESTER_COMMENTS); //for audit log. String initiative = null; @@ -261,9 +263,9 @@ public class DoRevokeTPS extends CMSServlet { errorString = "error=" + error.toString(); } - String pp = o_status + "\n" + errorString; + String pp = o_status + "&" + errorString; byte[] b = pp.getBytes(); - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); resp.setContentLength(b.length); OutputStream os = resp.getOutputStream(); os.write(b); @@ -858,7 +860,8 @@ public class DoRevokeTPS extends CMSServlet { String requesterID = null; // Obtain the requesterID - requesterID = req.getParameter("requestId"); + //TODO: should use tps subsystem user id + requesterID = req.getParameter(IRemoteRequest.CA_REVOKE_REQUESTER_ID); if (requesterID != null) { requesterID = requesterID.trim(); diff --git a/base/server/cms/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java b/base/server/cms/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java index 0437a2e0e..39ccb4932 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java +++ b/base/server/cms/src/com/netscape/cms/servlet/cert/DoUnrevokeTPS.java @@ -53,6 +53,8 @@ import com.netscape.cms.servlet.base.CMSServlet; import com.netscape.cms.servlet.common.CMSRequest; import com.netscape.cms.servlet.common.ECMSGWException; +import org.dogtagpki.server.connector.IRemoteRequest; + /** * 'Unrevoke' a certificate. (For certificates that are on-hold only, * take them off-hold) @@ -169,9 +171,9 @@ public class DoUnrevokeTPS extends CMSServlet { cmsReq.setStatus(ICMSRequest.UNAUTHORIZED); o_status = "status=3"; errorString = "error=unauthorized"; - String pp = o_status + "\n" + errorString; + String pp = o_status + "&" + errorString; byte[] b = pp.getBytes(); - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); resp.setContentLength(b.length); OutputStream os = resp.getOutputStream(); os.write(b); @@ -197,9 +199,9 @@ public class DoUnrevokeTPS extends CMSServlet { errorString = "error=" + error.toString(); } - String pp = o_status + "\n" + errorString; + String pp = o_status + "&" + errorString; byte[] b = pp.getBytes(); - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); resp.setContentLength(b.length); OutputStream os = resp.getOutputStream(); os.write(b); @@ -516,7 +518,7 @@ public class DoUnrevokeTPS extends CMSServlet { private BigInteger[] getSerialNumbers(HttpServletRequest req) throws NumberFormatException { - String serialNumString = req.getParameter("serialNumber"); + String serialNumString = req.getParameter(IRemoteRequest.CA_UNREVOKE_SERIAL); StringTokenizer snList = new StringTokenizer(serialNumString, " "); Vector<BigInteger> biList = new Vector<BigInteger>(); @@ -569,7 +571,8 @@ public class DoUnrevokeTPS extends CMSServlet { String requesterID = null; // Obtain the requesterID - requesterID = req.getParameter("requestId"); + // TODO: should use tps subsystem user id + requesterID = req.getParameter(IRemoteRequest.CA_REVOKE_REQUESTER_ID); if (requesterID != null) { requesterID = requesterID.trim(); diff --git a/base/server/cms/src/com/netscape/cms/servlet/connector/GenerateKeyPairServlet.java b/base/server/cms/src/com/netscape/cms/servlet/connector/GenerateKeyPairServlet.java index 3d0ad4c62..83f159a83 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/connector/GenerateKeyPairServlet.java +++ b/base/server/cms/src/com/netscape/cms/servlet/connector/GenerateKeyPairServlet.java @@ -41,6 +41,8 @@ import com.netscape.certsrv.request.IRequestQueue; import com.netscape.cms.servlet.base.CMSServlet; import com.netscape.cms.servlet.common.CMSRequest; +import org.dogtagpki.server.connector.IRemoteRequest; + /** * GenerateKeyPairServlet * handles "server-side key pair generation" requests from the @@ -134,13 +136,13 @@ public class GenerateKeyPairServlet extends CMSServlet { CMS.debug("processServerSideKeyGen begins:"); - String rCUID = req.getParameter("CUID"); - String rUserid = req.getParameter("userid"); - String rdesKeyString = req.getParameter("drm_trans_desKey"); - String rArchive = req.getParameter("archive"); - String rKeysize = req.getParameter("keysize"); - String rKeytype = req.getParameter("keytype"); - String rKeycurve = req.getParameter("eckeycurve"); + String rCUID = req.getParameter(IRemoteRequest.TOKEN_CUID); + String rUserid = req.getParameter(IRemoteRequest.KRA_UserId); + String rdesKeyString = req.getParameter(IRemoteRequest.KRA_Trans_DesKey); + String rArchive = req.getParameter(IRemoteRequest.KRA_KEYGEN_Archive); + String rKeysize = req.getParameter(IRemoteRequest.KRA_KEYGEN_KeySize); + String rKeytype = req.getParameter(IRemoteRequest.KRA_KEYGEN_KeyType); + String rKeycurve = req.getParameter(IRemoteRequest.KRA_KEYGEN_EC_KeyCurve); if ((rCUID == null) || (rCUID.equals(""))) { CMS.debug("GenerateKeyPairServlet: processServerSideKeygen(): missing request parameter: CUID"); @@ -215,7 +217,7 @@ public class GenerateKeyPairServlet extends CMSServlet { String value = ""; - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); String wrappedPrivKeyString = ""; String publicKeyString = ""; @@ -236,15 +238,15 @@ public class GenerateKeyPairServlet extends CMSServlet { status = "4"; */ if (!status.equals("0")) - value = "status=" + status; + value = IRemoteRequest.RESPONSE_STATUS +"=" + status; else { StringBuffer sb = new StringBuffer(); - sb.append("status=0&"); - sb.append("wrapped_priv_key="); + sb.append(IRemoteRequest.RESPONSE_STATUS +"=0&"); + sb.append(IRemoteRequest.KRA_RESPONSE_Wrapped_PrivKey+ "="); sb.append(wrappedPrivKeyString); - sb.append("&iv_param="); + sb.append("&"+ IRemoteRequest.KRA_RESPONSE_IV_Param+ "="); sb.append(ivString); - sb.append("&public_key="); + sb.append("&"+ IRemoteRequest.KRA_RESPONSE_PublicKey+ "="); sb.append(publicKeyString); value = sb.toString(); @@ -294,7 +296,7 @@ public class GenerateKeyPairServlet extends CMSServlet { if (authzToken == null) { try { - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); String value = "unauthorized="; CMS.debug("GenerateKeyPairServlet: Unauthorized"); diff --git a/base/server/cms/src/com/netscape/cms/servlet/connector/TokenKeyRecoveryServlet.java b/base/server/cms/src/com/netscape/cms/servlet/connector/TokenKeyRecoveryServlet.java index cd3c22adf..d38bf969d 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/connector/TokenKeyRecoveryServlet.java +++ b/base/server/cms/src/com/netscape/cms/servlet/connector/TokenKeyRecoveryServlet.java @@ -39,6 +39,8 @@ import com.netscape.certsrv.request.IRequestQueue; import com.netscape.cms.servlet.base.CMSServlet; import com.netscape.cms.servlet.common.CMSRequest; +import org.dogtagpki.server.connector.IRemoteRequest; + /** * TokenKeyRecoveryServlet * handles "key recovery service" requests from the @@ -154,11 +156,11 @@ public class TokenKeyRecoveryServlet extends CMSServlet { CMS.debug("processTokenKeyRecovery begins:"); - String rCUID = req.getParameter("CUID"); - String rUserid = req.getParameter("userid"); - String rKeyid = req.getParameter("keyid"); - String rdesKeyString = req.getParameter("drm_trans_desKey"); - String rCert = req.getParameter("cert"); + String rCUID = req.getParameter(IRemoteRequest.TOKEN_CUID); + String rUserid = req.getParameter(IRemoteRequest.KRA_UserId); + String rKeyid = req.getParameter(IRemoteRequest.KRA_RECOVERY_KEYID); + String rdesKeyString = req.getParameter(IRemoteRequest.KRA_Trans_DesKey); + String rCert = req.getParameter(IRemoteRequest.KRA_RECOVERY_CERT); if ((rCUID == null) || (rCUID.equals(""))) { CMS.debug("TokenKeyRecoveryServlet: processTokenKeyRecovery(): missing request parameter: CUID"); @@ -218,7 +220,7 @@ public class TokenKeyRecoveryServlet extends CMSServlet { String value = ""; - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); String wrappedPrivKeyString = ""; String publicKeyString = ""; @@ -256,12 +258,12 @@ public class TokenKeyRecoveryServlet extends CMSServlet { value = "status=" + status; else { StringBuffer sb = new StringBuffer(); - sb.append("status=0&"); - sb.append("wrapped_priv_key="); + sb.append(IRemoteRequest.RESPONSE_STATUS +"=0&"); + sb.append(IRemoteRequest.KRA_RESPONSE_Wrapped_PrivKey +"="); sb.append(wrappedPrivKeyString); - sb.append("&public_key="); + sb.append("&"+ IRemoteRequest.KRA_RESPONSE_PublicKey +"="); sb.append(publicKeyString); - sb.append("&iv_param="); + sb.append("&"+ IRemoteRequest.KRA_RESPONSE_IV_Param +"="); sb.append(ivString); value = sb.toString(); @@ -310,7 +312,7 @@ public class TokenKeyRecoveryServlet extends CMSServlet { if (authzToken == null) { try { - resp.setContentType("text/html"); + resp.setContentType("application/x-www-form-urlencoded"); String value = "unauthorized="; CMS.debug("TokenKeyRecoveryServlet: Unauthorized"); diff --git a/base/server/cms/src/org/dogtagpki/server/connector/IRemoteRequest.java b/base/server/cms/src/org/dogtagpki/server/connector/IRemoteRequest.java index 7697b5627..d6978e0cf 100644 --- a/base/server/cms/src/org/dogtagpki/server/connector/IRemoteRequest.java +++ b/base/server/cms/src/org/dogtagpki/server/connector/IRemoteRequest.java @@ -25,9 +25,16 @@ package org.dogtagpki.server.connector; * @author cfu */ public interface IRemoteRequest { +// public static final String TOKEN_CUID = "CUID"; + public static final String TOKEN_CUID = "tokencuid"; + public static final String GET_XML = "xml"; + public static final int RESPONSE_STATUS_NOT_FOUND = -1; + public static final String RESPONSE_STATUS = "status"; + public static final String RESPONSE_ERROR_STRING = "error"; + public static final String RESPONSE_STATUS_XML = "Status"; + // TKS request params public static final String SERVER_SIDE_KEYGEN = "serversideKeygen"; - public static final String TOKEN_CUID = "CUID"; public static final String TOKEN_CARD_CHALLENGE = "card_challenge"; public static final String TOKEN_HOST_CHALLENGE = "host_challenge"; public static final String TOKEN_KEYINFO = "KeyInfo"; @@ -37,9 +44,7 @@ public interface IRemoteRequest { public static final String TOKEN_NEW_KEYINFO = "newKeyInfo"; public static final String TOKEN_DATA = "data"; - public static final int RESPONSE_STATUS_NOT_FOUND = -1; - public static final String RESPONSE_STATUS = "status"; - + // TKS response params /* computeSessionKey responses */ public static final String TKS_RESPONSE_SessionKey = "sessionKey"; public static final String TKS_RESPONSE_EncSessionKey = "encSessionKey"; @@ -57,4 +62,43 @@ public interface IRemoteRequest { /* computeRandomData response */ public static final String TKS_RESPONSE_RandomData = "randomData"; + // CA request params + public static final String CA_ProfileId = "profileId"; + public static final String CA_ENROLL_screenname = "screenname"; + public static final String CA_ENROLL_publickey = "publickey"; + public static final String CA_RenewedCertificate = "renewedCertificate"; + public static final String CA_RENEWAL_SerialNum = "serial_num"; + public static final String CA_RENEWAL= "renewal"; + + public static final String CA_REVOKE = "revoke"; + public static final String CA_REVOCATION_REASON = "revocationReason"; + public static final String CA_REVOKE_ALL = "revokeAll"; + public static final String CA_REVOKE_SERIAL = "certRecordId"; + public static final String CA_REVOKE_COUNT = "totalRecordCount"; + public static final String CA_REVOKE_INVALID_DATE = "invalidityDate"; + public static final String CA_REVOKE_REQUESTER_COMMENTS = "revRequesterComments"; + public static final String CA_REVOKE_REQUESTER_ID = "revRequesterID"; + public static final String CA_UNREVOKE_SERIAL = "serialNumber"; + + // CA response params + public static final String CA_OP = "op"; + public static final String CA_RESPONSE_RenewedCertificate_x509 = "X509Certificate"; + public static final String CA_RESPONSE_RenewedCertificate_b64 = "b64"; + public static final String CA_RESPONSE_RenewedCertificate_SubjectDN = "SubjectDN"; + public static final String CA_RESPONSE_RenewedCertificate_serial = "serialno"; + + // KRA request params + public static final String KRA_UserId = "userid"; + public static final String KRA_Trans_DesKey = "drm_trans_desKey"; + public static final String KRA_KEYGEN_Archive = "archive"; + public static final String KRA_KEYGEN_KeyType = "keytype"; + public static final String KRA_KEYGEN_EC_KeyCurve = "eckeycurve"; + public static final String KRA_KEYGEN_KeySize = "keysize"; + public static final String KRA_RECOVERY_CERT = "cert"; + public static final String KRA_RECOVERY_KEYID = "keyid"; + + // KRA response params + public static final String KRA_RESPONSE_PublicKey = "public_key"; + public static final String KRA_RESPONSE_Wrapped_PrivKey = "wrapped_priv_key"; + public static final String KRA_RESPONSE_IV_Param = "iv_param"; } |
