diff options
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet')
89 files changed, 447 insertions, 7680 deletions
diff --git a/base/common/src/com/netscape/cms/servlet/admin/GroupMemberResourceService.java b/base/common/src/com/netscape/cms/servlet/admin/GroupMemberService.java index c192815aa..0854be3aa 100644 --- a/base/common/src/com/netscape/cms/servlet/admin/GroupMemberResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/admin/GroupMemberService.java @@ -31,6 +31,7 @@ import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IConfigStore; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.base.SessionContext; import com.netscape.certsrv.common.OpDef; import com.netscape.certsrv.common.ScopeDef; @@ -43,13 +44,12 @@ import com.netscape.certsrv.logging.ILogger; import com.netscape.certsrv.user.UserResource; import com.netscape.certsrv.usrgrp.IGroup; import com.netscape.certsrv.usrgrp.IUGSubsystem; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; +import com.netscape.cms.servlet.base.PKIService; /** * @author Endi S. Dewata */ -public class GroupMemberResourceService extends CMSResourceService implements GroupMemberResource { +public class GroupMemberService extends PKIService implements GroupMemberResource { public final static int DEFAULT_SIZE = 20; @@ -81,13 +81,13 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.getGroupFromName(groupID); if (group == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_GROUP_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); } GroupMemberCollection response = new GroupMemberCollection(); @@ -120,12 +120,12 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr return response; - } catch (CMSException e) { + } catch (PKIException e) { throw e; } catch (Exception e) { CMS.debug(e); - throw new CMSException(getUserMessage("CMS_INTERNAL_ERROR")); + throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR")); } } @@ -141,13 +141,13 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.getGroupFromName(groupID); if (group == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_GROUP_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); } String memberID = groupMemberData.getID(); @@ -199,14 +199,14 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr .type(MediaType.APPLICATION_XML) .build(); - } catch (CMSException e) { + } catch (PKIException e) { auditAddGroupMember(groupID, groupMemberData, ILogger.FAILURE); throw e; } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); auditAddGroupMember(groupID, groupMemberData, ILogger.FAILURE); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); } } @@ -289,13 +289,13 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.getGroupFromName(groupID); if (group == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_GROUP_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); } Enumeration<String> e = group.getMemberNames(); @@ -307,14 +307,14 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr return groupMemberData; } - throw new CMSException("Group member not found"); + throw new PKIException("Group member not found"); - } catch (CMSException e) { + } catch (PKIException e) { throw e; } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -329,13 +329,13 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.getGroupFromName(groupID); if (group == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_GROUP_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); } String member = groupMemberData.getID(); @@ -351,14 +351,14 @@ public class GroupMemberResourceService extends CMSResourceService implements Gr auditDeleteGroupMember(groupID, groupMemberData, ILogger.SUCCESS); - } catch (CMSException e) { + } catch (PKIException e) { auditDeleteGroupMember(groupID, groupMemberData, ILogger.FAILURE); throw e; } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); auditDeleteGroupMember(groupID, groupMemberData, ILogger.FAILURE); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); } } diff --git a/base/common/src/com/netscape/cms/servlet/admin/GroupResourceService.java b/base/common/src/com/netscape/cms/servlet/admin/GroupService.java index ce665ae3e..b82df9a2f 100644 --- a/base/common/src/com/netscape/cms/servlet/admin/GroupResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/admin/GroupService.java @@ -31,6 +31,7 @@ import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.common.OpDef; import com.netscape.certsrv.common.ScopeDef; import com.netscape.certsrv.group.GroupCollection; @@ -40,14 +41,13 @@ import com.netscape.certsrv.logging.IAuditor; import com.netscape.certsrv.logging.ILogger; import com.netscape.certsrv.usrgrp.IGroup; import com.netscape.certsrv.usrgrp.IUGSubsystem; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; +import com.netscape.cms.servlet.base.PKIService; import com.netscape.cmsutil.ldap.LDAPUtil; /** * @author Endi S. Dewata */ -public class GroupResourceService extends CMSResourceService implements GroupResource { +public class GroupService extends PKIService implements GroupResource { public final static int DEFAULT_SIZE = 20; @@ -115,7 +115,7 @@ public class GroupResourceService extends CMSResourceService implements GroupRes return response; } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_INTERNAL_ERROR")); + throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR")); } } @@ -131,22 +131,22 @@ public class GroupResourceService extends CMSResourceService implements GroupRes try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.getGroupFromName(groupID); if (group == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_GROUP_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_GROUP_NOT_EXIST")); } return createGroupData(group); - } catch (CMSException e) { + } catch (PKIException e) { throw e; } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_INTERNAL_ERROR")); + throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR")); } } @@ -173,7 +173,7 @@ public class GroupResourceService extends CMSResourceService implements GroupRes try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.createGroup(groupID); @@ -201,16 +201,16 @@ public class GroupResourceService extends CMSResourceService implements GroupRes .build(); } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_USRGRP_GROUP_ADD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_GROUP_ADD_FAILED")); } - } catch (CMSException e) { + } catch (PKIException e) { auditAddGroup(groupID, groupData, ILogger.FAILURE); throw e; } catch (EBaseException e) { auditAddGroup(groupID, groupData, ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -237,7 +237,7 @@ public class GroupResourceService extends CMSResourceService implements GroupRes try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IGroup group = userGroupManager.getGroupFromName(groupID); @@ -261,16 +261,16 @@ public class GroupResourceService extends CMSResourceService implements GroupRes } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); - throw new CMSException(getUserMessage("CMS_USRGRP_GROUP_MODIFY_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_GROUP_MODIFY_FAILED")); } - } catch (CMSException e) { + } catch (PKIException e) { auditModifyGroup(groupID, groupData, ILogger.FAILURE); throw e; } catch (EBaseException e) { auditModifyGroup(groupID, groupData, ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -295,7 +295,7 @@ public class GroupResourceService extends CMSResourceService implements GroupRes try { if (groupID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } // if fails, let the exception fall through @@ -303,13 +303,13 @@ public class GroupResourceService extends CMSResourceService implements GroupRes auditDeleteGroup(groupID, ILogger.SUCCESS); - } catch (CMSException e) { + } catch (PKIException e) { auditDeleteGroup(groupID, ILogger.FAILURE); throw e; } catch (EBaseException e) { auditDeleteGroup(groupID, ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } diff --git a/base/common/src/com/netscape/cms/servlet/admin/SystemCertificateResourceService.java b/base/common/src/com/netscape/cms/servlet/admin/SystemCertService.java index 72106a903..bd84f1141 100644 --- a/base/common/src/com/netscape/cms/servlet/admin/SystemCertificateResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/admin/SystemCertService.java @@ -24,10 +24,11 @@ import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.kra.IKeyRecoveryAuthority; import com.netscape.certsrv.security.ITransportKeyUnit; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.cert.model.CertificateData; +import com.netscape.certsrv.system.SystemCertificateResource; +import com.netscape.cms.servlet.base.PKIService; /** * This is the class used to list, retrieve and modify system certificates for all Java subsystems. @@ -35,13 +36,13 @@ import com.netscape.cms.servlet.cert.model.CertificateData; * @author alee * */ -public class SystemCertificateResourceService extends CMSResourceService implements SystemCertificateResource { +public class SystemCertService extends PKIService implements SystemCertificateResource { /** * Used to retrieve the transport certificate */ public Response getTransportCert() { - CertificateData cert = null; + CertData cert = null; IKeyRecoveryAuthority kra = null; // auth and authz diff --git a/base/common/src/com/netscape/cms/servlet/admin/SystemCertificateResource.java b/base/common/src/com/netscape/cms/servlet/admin/SystemCertificateResource.java deleted file mode 100644 index aaf3fa129..000000000 --- a/base/common/src/com/netscape/cms/servlet/admin/SystemCertificateResource.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.netscape.cms.servlet.admin; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import org.jboss.resteasy.annotations.ClientResponseType; - -import com.netscape.cms.servlet.cert.model.CertificateData; - -@Path("config/cert") -public interface SystemCertificateResource { - - /** - * Used to retrieve the transport certificate - */ - @GET - @Path("transport") - @ClientResponseType(entityType=CertificateData.class) - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public Response getTransportCert(); - -}
\ No newline at end of file diff --git a/base/common/src/com/netscape/cms/servlet/admin/UserCertResourceService.java b/base/common/src/com/netscape/cms/servlet/admin/UserCertService.java index e0e2ddfde..16a584ff8 100644 --- a/base/common/src/com/netscape/cms/servlet/admin/UserCertResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/admin/UserCertService.java @@ -40,6 +40,7 @@ import org.mozilla.jss.crypto.InternalCertificate; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.ICertPrettyPrint; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.common.OpDef; import com.netscape.certsrv.common.ScopeDef; import com.netscape.certsrv.dbs.certdb.CertId; @@ -50,15 +51,14 @@ import com.netscape.certsrv.user.UserCertData; import com.netscape.certsrv.user.UserCertResource; import com.netscape.certsrv.usrgrp.IUGSubsystem; import com.netscape.certsrv.usrgrp.IUser; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; +import com.netscape.cms.servlet.base.PKIService; import com.netscape.cmsutil.util.Cert; import com.netscape.cmsutil.util.Utils; /** * @author Endi S. Dewata */ -public class UserCertResourceService extends CMSResourceService implements UserCertResource { +public class UserCertService extends PKIService implements UserCertResource { public final static int DEFAULT_SIZE = 20; @@ -96,7 +96,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IUser user = null; @@ -104,12 +104,12 @@ public class UserCertResourceService extends CMSResourceService implements UserC try { user = userGroupManager.getUser(userID); } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); } if (user == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_USER_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); } UserCertCollection response = new UserCertCollection(); @@ -134,11 +134,11 @@ public class UserCertResourceService extends CMSResourceService implements UserC return response; - } catch (CMSException e) { + } catch (PKIException e) { throw e; } catch (Exception e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -148,7 +148,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IUser user = null; @@ -156,24 +156,24 @@ public class UserCertResourceService extends CMSResourceService implements UserC try { user = userGroupManager.getUser(userID); } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); } if (user == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_USER_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); } X509Certificate[] certs = user.getX509Certificates(); if (certs == null) { - throw new CMSException("Certificate not found"); + throw new PKIException("Certificate not found"); } try { certID = URLDecoder.decode(certID, "UTF-8"); } catch (Exception e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } for (X509Certificate cert : certs) { @@ -192,13 +192,13 @@ public class UserCertResourceService extends CMSResourceService implements UserC return userCertData; } - throw new CMSException("Certificate not found"); + throw new PKIException("Certificate not found"); - } catch (CMSException e) { + } catch (PKIException e) { throw e; } catch (Exception e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -223,7 +223,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC try { if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IUser user = userGroupManager.createUser(userID); @@ -266,7 +266,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC X509Certificate p7certs[] = pkcs7.getCertificates(); if (p7certs.length == 0) { - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_CERT_ERROR")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_CERT_ERROR")); } // fix for 370099 - cert ordering can not be assumed @@ -292,7 +292,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC } else { // not a chain, or in random order CMS.debug("UserCertResourceService: " + CMS.getLogMessage("ADMIN_SRVLT_CERT_BAD_CHAIN")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_CERT_ERROR")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_CERT_ERROR")); } CMS.debug("UserCertResourceService: " @@ -343,7 +343,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC */ } catch (Exception e) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_CERT_ERROR", e.toString())); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_CERT_ERROR")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_CERT_ERROR")); } } @@ -375,29 +375,29 @@ public class UserCertResourceService extends CMSResourceService implements UserC } catch (CertificateExpiredException e) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_ADD_CERT_EXPIRED", String.valueOf(cert.getSubjectDN()))); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_CERT_EXPIRED")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_CERT_EXPIRED")); } catch (CertificateNotYetValidException e) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_CERT_NOT_YET_VALID", String.valueOf(cert.getSubjectDN()))); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_CERT_NOT_YET_VALID")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_CERT_NOT_YET_VALID")); } catch (LDAPException e) { if (e.getLDAPResultCode() == LDAPException.ATTRIBUTE_OR_VALUE_EXISTS) { - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_USER_CERT_EXISTS")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_USER_CERT_EXISTS")); } else { - throw new CMSException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); } } - } catch (CMSException e) { + } catch (PKIException e) { auditAddUserCert(userID, userCertData, ILogger.FAILURE); throw e; } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); auditAddUserCert(userID, userCertData, ILogger.FAILURE); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); } } @@ -423,7 +423,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC try { certID = URLDecoder.decode(certID, "UTF-8"); } catch (Exception e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } UserCertData userCertData = new UserCertData(); @@ -438,7 +438,7 @@ public class UserCertResourceService extends CMSResourceService implements UserC try { if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IUser user = userGroupManager.createUser(userID); @@ -456,14 +456,14 @@ public class UserCertResourceService extends CMSResourceService implements UserC auditDeleteUserCert(userID, userCertData, ILogger.SUCCESS); - } catch (CMSException e) { + } catch (PKIException e) { auditDeleteUserCert(userID, userCertData, ILogger.FAILURE); throw e; } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); auditDeleteUserCert(userID, userCertData, ILogger.FAILURE); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); } } diff --git a/base/common/src/com/netscape/cms/servlet/admin/UserResourceService.java b/base/common/src/com/netscape/cms/servlet/admin/UserService.java index 1639c5912..f28a8151f 100644 --- a/base/common/src/com/netscape/cms/servlet/admin/UserResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/admin/UserService.java @@ -33,6 +33,7 @@ import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.common.OpDef; import com.netscape.certsrv.common.ScopeDef; import com.netscape.certsrv.logging.IAuditor; @@ -45,14 +46,13 @@ import com.netscape.certsrv.usrgrp.EUsrGrpException; import com.netscape.certsrv.usrgrp.IGroup; import com.netscape.certsrv.usrgrp.IUGSubsystem; import com.netscape.certsrv.usrgrp.IUser; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; +import com.netscape.cms.servlet.base.PKIService; import com.netscape.cmsutil.ldap.LDAPUtil; /** * @author Endi S. Dewata */ -public class UserResourceService extends CMSResourceService implements UserResource { +public class UserService extends PKIService implements UserResource { public final static int DEFAULT_SIZE = 20; @@ -123,7 +123,7 @@ public class UserResourceService extends CMSResourceService implements UserResou return response; } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_INTERNAL_ERROR")); + throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR")); } } @@ -142,7 +142,7 @@ public class UserResourceService extends CMSResourceService implements UserResou if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IUser user; @@ -150,13 +150,13 @@ public class UserResourceService extends CMSResourceService implements UserResou try { user = userGroupManager.getUser(userID); } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_INTERNAL_ERROR")); + throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR")); } if (user == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("USRGRP_SRVLT_USER_NOT_EXIST")); - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_USER_NOT_EXIST")); } UserData userData = createUserData(user); @@ -175,11 +175,11 @@ public class UserResourceService extends CMSResourceService implements UserResou return userData; - } catch (CMSException e) { + } catch (PKIException e) { throw e; } catch (Exception e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -207,19 +207,19 @@ public class UserResourceService extends CMSResourceService implements UserResou try { if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } if (userID.indexOf(BACK_SLASH) != -1) { // backslashes (BS) are not allowed log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_RS_ID_BS")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_RS_ID_BS")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_RS_ID_BS")); } if (userID.equals(SYSTEM_USER)) { // backslashes (BS) are not allowed log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_SPECIAL_ID", userID)); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_SPECIAL_ID", userID)); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_SPECIAL_ID", userID)); } IUser user = userGroupManager.createUser(userID); @@ -229,7 +229,7 @@ public class UserResourceService extends CMSResourceService implements UserResou String msg = getUserMessage("CMS_USRGRP_USER_ADD_FAILED_1", "full name"); log(ILogger.LL_FAILURE, msg); - throw new CMSException(msg); + throw new PKIException(msg); } else { user.setFullName(fname); @@ -292,27 +292,27 @@ public class UserResourceService extends CMSResourceService implements UserResou log(ILogger.LL_FAILURE, e.toString()); if (user.getUserID() == null) { - throw new CMSException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED_1", "uid")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED_1", "uid")); } else { - throw new CMSException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); } } catch (LDAPException e) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_ADD_USER_FAIL", e.toString())); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_ADD_FAILED")); } - } catch (CMSException e) { + } catch (PKIException e) { auditAddUser(userID, userData, ILogger.FAILURE); throw e; } catch (EBaseException e) { auditAddUser(userID, userData, ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -337,7 +337,7 @@ public class UserResourceService extends CMSResourceService implements UserResou try { if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } IUser user = userGroupManager.createUser(userID); @@ -388,16 +388,16 @@ public class UserResourceService extends CMSResourceService implements UserResou } catch (Exception e) { log(ILogger.LL_FAILURE, e.toString()); - throw new CMSException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); + throw new PKIException(getUserMessage("CMS_USRGRP_USER_MOD_FAILED")); } - } catch (CMSException e) { + } catch (PKIException e) { auditModifyUser(userID, userData, ILogger.FAILURE); throw e; } catch (EBaseException e) { auditModifyUser(userID, userData, ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -425,7 +425,7 @@ public class UserResourceService extends CMSResourceService implements UserResou try { if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new CMSException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); + throw new PKIException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID")); } // get list of groups, and see if uid belongs to any @@ -435,7 +435,7 @@ public class UserResourceService extends CMSResourceService implements UserResou groups = userGroupManager.findGroups("*"); } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_INTERNAL_ERROR")); + throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR")); } try { @@ -452,10 +452,10 @@ public class UserResourceService extends CMSResourceService implements UserResou auditDeleteUser(userID, ILogger.SUCCESS); } catch (Exception e) { - throw new CMSException(getUserMessage("CMS_USRGRP_SRVLT_FAIL_USER_RMV")); + throw new PKIException(getUserMessage("CMS_USRGRP_SRVLT_FAIL_USER_RMV")); } - } catch (CMSException e) { + } catch (PKIException e) { auditDeleteUser(userID, ILogger.FAILURE); throw e; } diff --git a/base/common/src/com/netscape/cms/servlet/base/BadRequestException.java b/base/common/src/com/netscape/cms/servlet/base/BadRequestException.java deleted file mode 100644 index b5c5e0b12..000000000 --- a/base/common/src/com/netscape/cms/servlet/base/BadRequestException.java +++ /dev/null @@ -1,38 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.base; -import javax.ws.rs.core.Response; - -public class BadRequestException extends CMSException { - - private static final long serialVersionUID = -4784839378360933483L; - - public BadRequestException(String message) { - super(Response.Status.BAD_REQUEST, message); - } - - public BadRequestException(String message, Throwable cause) { - super(Response.Status.BAD_REQUEST, message, cause); - } - - public BadRequestException(Data data) { - super(data); - } - -} - diff --git a/base/common/src/com/netscape/cms/servlet/base/CMSException.java b/base/common/src/com/netscape/cms/servlet/base/CMSException.java deleted file mode 100644 index 5ceb30ee1..000000000 --- a/base/common/src/com/netscape/cms/servlet/base/CMSException.java +++ /dev/null @@ -1,182 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.base; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.ext.ExceptionMapper; -import javax.ws.rs.ext.Provider; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlValue; -import javax.xml.bind.annotation.adapters.XmlAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -public class CMSException extends RuntimeException { - - private static final long serialVersionUID = 6000910362260369923L; - - public int code; - - public CMSException(String message) { - super(message); - code = Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(); - } - - public CMSException(int code, String message) { - super(message); - this.code = code; - } - - public CMSException(Response.Status status, String message) { - super(message); - code = status.getStatusCode(); - } - - public CMSException(String message, Throwable cause) { - super(message, cause); - code = Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(); - } - - public CMSException(int code, String message, Throwable cause) { - super(message, cause); - this.code = code; - } - - public CMSException(Response.Status status, String message, Throwable cause) { - super(message, cause); - code = status.getStatusCode(); - } - - public CMSException(Data data) { - super(data.message); - code = data.code; - } - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public Data getData() { - Data data = new Data(); - data.className = getClass().getName(); - data.code = code; - data.message = getMessage(); - return data; - } - - @XmlRootElement(name="CMSException") - public static class Data { - - @XmlElement(name="ClassName") - public String className; - - @XmlElement(name="Code") - public int code; - - @XmlElement(name="Message") - public String message; - - @XmlElement(name="Attributes") - @XmlJavaTypeAdapter(MapAdapter.class) - public Map<String, String> attributes = new LinkedHashMap<String, String>(); - - public String getAttribute(String name) { - return attributes.get(name); - } - - public void setAttribute(String name, String value) { - attributes.put(name, value); - } - } - - public static class MapAdapter extends XmlAdapter<AttributeList, Map<String, String>> { - - public AttributeList marshal(Map<String, String> map) { - AttributeList list = new AttributeList(); - for (Map.Entry<String, String> entry : map.entrySet()) { - Attribute attribute = new Attribute(); - attribute.name = entry.getKey(); - attribute.value = entry.getValue(); - list.attributes.add(attribute); - } - return list; - } - - public Map<String, String> unmarshal(AttributeList list) { - Map<String, String> map = new LinkedHashMap<String, String>(); - for (Attribute attribute : list.attributes) { - map.put(attribute.name, attribute.value); - } - return map; - } - } - - public static class AttributeList { - @XmlElement(name="Attribute") - public List<Attribute> attributes = new ArrayList<Attribute>(); - } - - public static class Attribute { - - @XmlAttribute - public String name; - - @XmlValue - public String value; - } - - @Provider - public static class Mapper implements ExceptionMapper<CMSException> { - - public Response toResponse(CMSException exception) { - // convert CMSException into HTTP response with XML content - return Response - .status(exception.getCode()) - .entity(exception.getData()) - .type(MediaType.APPLICATION_XML) - .build(); - } - } - - public static void main(String args[]) throws Exception { - Data data = new Data(); - data.className = CMSException.class.getName(); - data.code = Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(); - data.message = "An error has occured"; - data.setAttribute("attr1", "value1"); - data.setAttribute("attr2", "value2"); - - JAXBContext context = JAXBContext.newInstance(Data.class); - Marshaller marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - marshaller.marshal(data, System.out); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/base/CMSResourceService.java b/base/common/src/com/netscape/cms/servlet/base/PKIService.java index 48daeca6e..4034a75a3 100644 --- a/base/common/src/com/netscape/cms/servlet/base/CMSResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/base/PKIService.java @@ -36,9 +36,9 @@ import javax.ws.rs.core.Response.ResponseBuilder; import javax.ws.rs.core.UriInfo; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.logging.IAuditor; import com.netscape.certsrv.logging.ILogger; -import com.netscape.cms.servlet.cert.model.CertificateData; /** * Base class for CMS RESTful resources @@ -46,7 +46,7 @@ import com.netscape.cms.servlet.cert.model.CertificateData; * @author alee * */ -public class CMSResourceService { +public class PKIService { public static final String HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----"; public static final String TRAILER = "-----END NEW CERTIFICATE REQUEST-----"; @@ -90,9 +90,9 @@ public class CMSResourceService { return builder.build(); } - public CertificateData createCertificateData(org.mozilla.jss.crypto.X509Certificate cert) + public CertData createCertificateData(org.mozilla.jss.crypto.X509Certificate cert) throws CertificateEncodingException { - CertificateData data = new CertificateData(); + CertData data = new CertData(); String b64 = HEADER + CMS.BtoA(cert.getEncoded()) + TRAILER; data.setEncoded(b64); return data; diff --git a/base/common/src/com/netscape/cms/servlet/base/model/Link.java b/base/common/src/com/netscape/cms/servlet/base/model/Link.java deleted file mode 100644 index 336092abe..000000000 --- a/base/common/src/com/netscape/cms/servlet/base/model/Link.java +++ /dev/null @@ -1,88 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK ---/** -package com.netscape.cms.servlet.base.model; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name = "Link") -public class Link { - protected String relationship; - protected String href; - protected String type; - - public Link() { - // required for jaxb - } - - public Link(String relationship, String href, String type) { - this.relationship = relationship; - this.href = href; - this.type = type; - } - - /** - * @return the relationship - */ - @XmlAttribute(name = "rel") - public String getRelationship() { - return relationship; - } - - /** - * @param relationship the relationship to set - */ - public void setRelationship(String relationship) { - this.relationship = relationship; - } - - /** - * @return the href - */ - @XmlAttribute - public String getHref() { - return href; - } - - /** - * @param href the href to set - */ - public void setHref(String href) { - this.href = href; - } - - /** - * @return the type - */ - @XmlAttribute - public String getType() { - return type; - } - - /** - * @param type the type to set - */ - public void setType(String type) { - this.type = type; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/EnrollmentRequestDataFactory.java b/base/common/src/com/netscape/cms/servlet/cert/CertEnrollmentRequestFactory.java index 3a09b7608..7a26e8e21 100644 --- a/base/common/src/com/netscape/cms/servlet/request/model/EnrollmentRequestDataFactory.java +++ b/base/common/src/com/netscape/cms/servlet/cert/CertEnrollmentRequestFactory.java @@ -15,26 +15,27 @@ //(C) 2012 Red Hat, Inc. //All rights reserved. //--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; +package com.netscape.cms.servlet.cert; import java.util.Enumeration; import java.util.Locale; import com.netscape.certsrv.base.IArgBlock; +import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileInput; +import com.netscape.certsrv.profile.ProfileInput; import com.netscape.cms.servlet.common.CMSRequest; -import com.netscape.cms.servlet.profile.model.ProfileInput; -import com.netscape.cms.servlet.profile.model.ProfileInputFactory; +import com.netscape.cms.servlet.profile.ProfileInputFactory; -public class EnrollmentRequestDataFactory { +public class CertEnrollmentRequestFactory { - public static EnrollmentRequestData create(CMSRequest cmsReq, IProfile profile, Locale locale) + public static CertEnrollmentRequest create(CMSRequest cmsReq, IProfile profile, Locale locale) throws EProfileException { IArgBlock params = cmsReq.getHttpParams(); - EnrollmentRequestData ret = new EnrollmentRequestData(); + CertEnrollmentRequest ret = new CertEnrollmentRequest(); ret.setProfileId(profile.getId()); // populate profile inputs diff --git a/base/common/src/com/netscape/cms/servlet/cert/CertNotFoundException.java b/base/common/src/com/netscape/cms/servlet/cert/CertNotFoundException.java deleted file mode 100644 index 11948ee39..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/CertNotFoundException.java +++ /dev/null @@ -1,63 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.cert; - -import javax.ws.rs.core.Response; - -import com.netscape.certsrv.dbs.certdb.CertId; -import com.netscape.cms.servlet.base.CMSException; - -public class CertNotFoundException extends CMSException { - - private static final long serialVersionUID = -4784839378360933483L; - - public CertId certId; - - public CertNotFoundException(CertId certId) { - this(certId, "Certificate ID " + certId.toHexString() + " not found"); - } - - public CertNotFoundException(CertId certId, String message) { - super(Response.Status.NOT_FOUND, message); - this.certId = certId; - } - - public CertNotFoundException(CertId certId, String message, Throwable cause) { - super(Response.Status.NOT_FOUND, message, cause); - this.certId = certId; - } - - public CertNotFoundException(Data data) { - super(data); - certId = new CertId(data.getAttribute("certId")); - } - - public Data getData() { - Data data = super.getData(); - data.setAttribute("certId", certId.toString()); - return data; - } - - public CertId getCertId() { - return certId; - } - - public void setRequestId(CertId certId) { - this.certId = certId; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/cert/CertProcessor.java b/base/common/src/com/netscape/cms/servlet/cert/CertProcessor.java index 13b0072b4..4acc94d07 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/CertProcessor.java +++ b/base/common/src/com/netscape/cms/servlet/cert/CertProcessor.java @@ -30,6 +30,7 @@ import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.authentication.IAuthToken; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.EPropertyNotFound; +import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.certsrv.logging.ILogger; import com.netscape.certsrv.profile.EDeferException; import com.netscape.certsrv.profile.ERejectException; @@ -37,12 +38,11 @@ import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileAuthenticator; import com.netscape.certsrv.profile.IProfileContext; import com.netscape.certsrv.profile.IProfileInput; +import com.netscape.certsrv.profile.ProfileInput; import com.netscape.certsrv.request.INotify; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.RequestStatus; import com.netscape.cms.servlet.processors.Processor; -import com.netscape.cms.servlet.profile.model.ProfileInput; -import com.netscape.cms.servlet.request.model.EnrollmentRequestData; public class CertProcessor extends Processor { @@ -73,7 +73,7 @@ public class CertProcessor extends Processor { } } - private void setInputsIntoRequest(EnrollmentRequestData data, IProfile profile, IRequest req) { + private void setInputsIntoRequest(CertEnrollmentRequest data, IProfile profile, IRequest req) { // put profile inputs into a local map HashMap<String, String> dataInputs = new HashMap<String, String>(); for (ProfileInput input : data.getInputs()) { @@ -269,7 +269,7 @@ public class CertProcessor extends Processor { return errorCode; } - protected void populateRequests(EnrollmentRequestData data, boolean isRenewal, + protected void populateRequests(CertEnrollmentRequest data, boolean isRenewal, Locale locale, Date origNotAfter, String origSubjectDN, IRequest origReq, String profileId, IProfile profile, IProfileContext ctx, IProfileAuthenticator authenticator, IAuthToken authToken, IRequest[] reqs) throws EBaseException { diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestDAO.java b/base/common/src/com/netscape/cms/servlet/cert/CertRequestDAO.java index 4ebfc251f..bcb19a70b 100644 --- a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestDAO.java +++ b/base/common/src/com/netscape/cms/servlet/cert/CertRequestDAO.java @@ -15,7 +15,7 @@ // (C) 2011 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; +package com.netscape.cms.servlet.cert; import java.util.ArrayList; import java.util.Collection; @@ -32,17 +32,20 @@ import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.Nonces; import com.netscape.certsrv.ca.ICertificateAuthority; +import com.netscape.certsrv.cert.CertEnrollmentRequest; +import com.netscape.certsrv.cert.CertRequestInfo; +import com.netscape.certsrv.cert.CertRequestInfos; +import com.netscape.certsrv.cert.CertReviewResponse; import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileSubsystem; +import com.netscape.certsrv.request.CMSRequestInfo; +import com.netscape.certsrv.request.CMSRequestInfos; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.IRequestQueue; import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.cert.EnrollmentProcessor; -import com.netscape.cms.servlet.cert.RenewalProcessor; -import com.netscape.cms.servlet.cert.RequestProcessor; +import com.netscape.certsrv.request.RequestNotFoundException; import com.netscape.cms.servlet.processors.Processor; -import com.netscape.cms.servlet.request.RequestNotFoundException; - +import com.netscape.cms.servlet.request.CMSRequestDAO; /** * @author alee @@ -138,7 +141,7 @@ public class CertRequestDAO extends CMSRequestDAO { * @return info for specific request * @throws EBaseException */ - public AgentEnrollmentRequestData reviewRequest(HttpServletRequest servletRequest, RequestId id, + public CertReviewResponse reviewRequest(HttpServletRequest servletRequest, RequestId id, UriInfo uriInfo, Locale locale) throws EBaseException { IRequest request = queue.findRequest(id); if (request == null) { @@ -146,14 +149,14 @@ public class CertRequestDAO extends CMSRequestDAO { } String profileId = request.getExtDataInString("profileId"); IProfile profile = ps.getProfile(profileId); - AgentEnrollmentRequestData info = AgentEnrollmentRequestDataFactory.create(request, profile, uriInfo, locale); + CertReviewResponse info = CertReviewResponseFactory.create(request, profile, uriInfo, locale); if (ca.noncesEnabled()) { addNonce(info, servletRequest); } return info; } - private void addNonce(AgentEnrollmentRequestData info, HttpServletRequest servletRequest) throws EBaseException { + private void addNonce(CertReviewResponse info, HttpServletRequest servletRequest) throws EBaseException { if (nonces != null) { long n = random.nextLong(); long m = nonces.addNonce(n, Processor.getSSLClientCertificate(servletRequest)); @@ -171,7 +174,7 @@ public class CertRequestDAO extends CMSRequestDAO { * @throws EBaseException * @throws ServletException */ - public CertRequestInfos submitRequest(EnrollmentRequestData data, HttpServletRequest request, UriInfo uriInfo, + public CertRequestInfos submitRequest(CertEnrollmentRequest data, HttpServletRequest request, UriInfo uriInfo, Locale locale) throws EBaseException { HashMap<String, Object> results = null; if (data.getIsRenewal()) { @@ -196,7 +199,7 @@ public class CertRequestDAO extends CMSRequestDAO { return ret; } - public void changeRequestState(RequestId id, HttpServletRequest request, AgentEnrollmentRequestData data, + public void changeRequestState(RequestId id, HttpServletRequest request, CertReviewResponse data, Locale locale, String op) throws EBaseException { IRequest ireq = queue.findRequest(id); if (ireq == null) { diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfoFactory.java b/base/common/src/com/netscape/cms/servlet/cert/CertRequestInfoFactory.java index c21ea35c9..fc16bd5f0 100644 --- a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfoFactory.java +++ b/base/common/src/com/netscape/cms/servlet/cert/CertRequestInfoFactory.java @@ -16,7 +16,7 @@ // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; +package com.netscape.cms.servlet.cert; import java.math.BigInteger; @@ -28,12 +28,13 @@ import netscape.security.x509.X509CertImpl; import org.apache.commons.lang.StringUtils; +import com.netscape.certsrv.cert.CertRequestInfo; +import com.netscape.certsrv.cert.CertRequestResource; +import com.netscape.certsrv.cert.CertResource; import com.netscape.certsrv.profile.IEnrollProfile; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; -import com.netscape.cms.servlet.cert.CertResource; -import com.netscape.cms.servlet.request.CertRequestResource; public class CertRequestInfoFactory { diff --git a/base/common/src/com/netscape/cms/servlet/cert/CertResource.java b/base/common/src/com/netscape/cms/servlet/cert/CertResource.java deleted file mode 100644 index f3a9d4129..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/CertResource.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.netscape.cms.servlet.cert; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import com.netscape.certsrv.dbs.certdb.CertId; -import com.netscape.cms.servlet.cert.model.CertDataInfos; -import com.netscape.cms.servlet.cert.model.CertRevokeRequest; -import com.netscape.cms.servlet.cert.model.CertSearchData; -import com.netscape.cms.servlet.cert.model.CertUnrevokeRequest; -import com.netscape.cms.servlet.cert.model.CertificateData; -import com.netscape.cms.servlet.request.model.CertRequestInfo; - -@Path("") -public interface CertResource { - - public static final int DEFAULT_MAXTIME = 0; - public static final int DEFAULT_MAXRESULTS = 20; - - @GET - @Path("certs") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertDataInfos listCerts( - @QueryParam("status") String status, - @DefaultValue("" + DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults, - @DefaultValue("" + DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime); - - @POST - @Path("certs/search") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertDataInfos searchCerts( - CertSearchData data, - @QueryParam("start") Integer start, - @QueryParam("size") Integer size); - - @GET - @Path("certs/{id}") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertificateData getCert(@PathParam("id") CertId id); - - @POST - @Path("agent/certs/{id}/revoke-ca") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertRequestInfo revokeCACert(@PathParam("id") CertId id, CertRevokeRequest request); - - @POST - @Path("agent/certs/{id}/revoke") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertRequestInfo revokeCert(@PathParam("id") CertId id, CertRevokeRequest request); - - @POST - @Path("agent/certs/{id}/unrevoke") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertRequestInfo unrevokeCert(@PathParam("id") CertId id, CertUnrevokeRequest request); -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/AgentEnrollmentRequestDataFactory.java b/base/common/src/com/netscape/cms/servlet/cert/CertReviewResponseFactory.java index fff1a59df..97611eb94 100644 --- a/base/common/src/com/netscape/cms/servlet/request/model/AgentEnrollmentRequestDataFactory.java +++ b/base/common/src/com/netscape/cms/servlet/cert/CertReviewResponseFactory.java @@ -15,7 +15,7 @@ //(C) 2012 Red Hat, Inc. //All rights reserved. //--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; +package com.netscape.cms.servlet.cert; import java.util.Enumeration; import java.util.Locale; @@ -27,28 +27,29 @@ import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IArgBlock; import com.netscape.certsrv.base.Nonces; +import com.netscape.certsrv.cert.CertReviewResponse; import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.IPolicyDefault; import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileInput; import com.netscape.certsrv.profile.IProfilePolicy; +import com.netscape.certsrv.profile.PolicyConstraint; +import com.netscape.certsrv.profile.PolicyDefault; +import com.netscape.certsrv.profile.ProfileInput; +import com.netscape.certsrv.profile.ProfilePolicy; +import com.netscape.certsrv.profile.ProfilePolicySet; import com.netscape.certsrv.property.EPropertyException; import com.netscape.certsrv.request.IRequest; import com.netscape.cms.servlet.common.CMSRequest; import com.netscape.cms.servlet.processors.Processor; -import com.netscape.cms.servlet.profile.model.PolicyConstraint; -import com.netscape.cms.servlet.profile.model.PolicyConstraintFactory; -import com.netscape.cms.servlet.profile.model.PolicyDefault; -import com.netscape.cms.servlet.profile.model.PolicyDefaultFactory; -import com.netscape.cms.servlet.profile.model.ProfileInput; -import com.netscape.cms.servlet.profile.model.ProfileInputFactory; -import com.netscape.cms.servlet.profile.model.ProfilePolicy; -import com.netscape.cms.servlet.profile.model.ProfilePolicySet; +import com.netscape.cms.servlet.profile.PolicyConstraintFactory; +import com.netscape.cms.servlet.profile.PolicyDefaultFactory; +import com.netscape.cms.servlet.profile.ProfileInputFactory; -public class AgentEnrollmentRequestDataFactory { +public class CertReviewResponseFactory { - public static AgentEnrollmentRequestData create(IRequest request, IProfile profile, UriInfo uriInfo, Locale locale) throws EBaseException { - AgentEnrollmentRequestData ret = new AgentEnrollmentRequestData(); + public static CertReviewResponse create(IRequest request, IProfile profile, UriInfo uriInfo, Locale locale) throws EBaseException { + CertReviewResponse ret = new CertReviewResponse(); if (request.getRequestType().equals("renewal")) { ret.setIsRenewal(true); @@ -127,13 +128,13 @@ public class AgentEnrollmentRequestDataFactory { return ret; } - public static AgentEnrollmentRequestData create(CMSRequest cmsReq, IProfile profile, Nonces nonces, Locale locale) + public static CertReviewResponse create(CMSRequest cmsReq, IProfile profile, Nonces nonces, Locale locale) throws EPropertyException, EProfileException { HttpServletRequest req = cmsReq.getHttpReq(); IRequest ireq = cmsReq.getIRequest(); IArgBlock params = cmsReq.getHttpParams(); - AgentEnrollmentRequestData ret = new AgentEnrollmentRequestData(); + CertReviewResponse ret = new CertReviewResponse(); ret.setProfileId(profile.getId()); ret.setRequestNotes(req.getParameter("requestNotes")); ret.setRequestId(ireq.getRequestId()); @@ -153,8 +154,8 @@ public class AgentEnrollmentRequestDataFactory { String id = policyIds.nextElement(); CMS.debug("policyId:" + id); IProfilePolicy policy = profile.getProfilePolicy(profileSetId, id); - com.netscape.cms.servlet.profile.model.ProfilePolicy dataPolicy = - new com.netscape.cms.servlet.profile.model.ProfilePolicy(); + com.netscape.certsrv.profile.ProfilePolicy dataPolicy = + new com.netscape.certsrv.profile.ProfilePolicy(); //populate defaults IPolicyDefault def = policy.getDefault(); diff --git a/base/common/src/com/netscape/cms/servlet/cert/CertResourceService.java b/base/common/src/com/netscape/cms/servlet/cert/CertService.java index 6a3f0d79a..e4a6fc994 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/CertResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/cert/CertService.java @@ -43,9 +43,22 @@ import netscape.security.x509.X509CertImpl; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.ICertPrettyPrint; +import com.netscape.certsrv.base.PKIException; +import com.netscape.certsrv.base.UnauthorizedException; import com.netscape.certsrv.ca.ICertificateAuthority; +import com.netscape.certsrv.cert.CertData; +import com.netscape.certsrv.cert.CertDataInfo; +import com.netscape.certsrv.cert.CertDataInfos; +import com.netscape.certsrv.cert.CertNotFoundException; +import com.netscape.certsrv.cert.CertRequestInfo; +import com.netscape.certsrv.cert.CertResource; +import com.netscape.certsrv.cert.CertRetrievalRequest; +import com.netscape.certsrv.cert.CertRevokeRequest; +import com.netscape.certsrv.cert.CertSearchRequest; +import com.netscape.certsrv.cert.CertUnrevokeRequest; import com.netscape.certsrv.dbs.EDBRecordNotFoundException; import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.certsrv.dbs.certdb.ICertRecord; @@ -53,20 +66,8 @@ import com.netscape.certsrv.dbs.certdb.ICertificateRepository; import com.netscape.certsrv.logging.AuditFormat; import com.netscape.certsrv.logging.ILogger; import com.netscape.certsrv.request.IRequest; -import com.netscape.cms.servlet.base.BadRequestException; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.base.UnauthorizedException; -import com.netscape.cms.servlet.cert.model.CertDataInfo; -import com.netscape.cms.servlet.cert.model.CertDataInfos; -import com.netscape.cms.servlet.cert.model.CertRevokeRequest; -import com.netscape.cms.servlet.cert.model.CertSearchData; -import com.netscape.cms.servlet.cert.model.CertUnrevokeRequest; -import com.netscape.cms.servlet.cert.model.CertificateData; +import com.netscape.cms.servlet.base.PKIService; import com.netscape.cms.servlet.processors.Processor; -import com.netscape.cms.servlet.request.model.CertRequestDAO; -import com.netscape.cms.servlet.request.model.CertRequestInfo; -import com.netscape.cms.servlet.request.model.CertRetrievalRequestData; import com.netscape.cmsutil.ldap.LDAPUtil; import com.netscape.cmsutil.util.Utils; @@ -74,14 +75,14 @@ import com.netscape.cmsutil.util.Utils; * @author alee * */ -public class CertResourceService extends CMSResourceService implements CertResource { +public class CertService extends PKIService implements CertResource { ICertificateAuthority authority; ICertificateRepository repo; public final static int DEFAULT_SIZE = 20; - public CertResourceService() { + public CertService() { authority = (ICertificateAuthority) CMS.getSubsystem("ca"); repo = authority.getCertificateRepository(); } @@ -93,22 +94,22 @@ public class CertResourceService extends CMSResourceService implements CertResou } @Override - public CertificateData getCert(CertId id) { + public CertData getCert(CertId id) { validateRequest(id); - CertRetrievalRequestData data = new CertRetrievalRequestData(); + CertRetrievalRequest data = new CertRetrievalRequest(); data.setCertId(id); - CertificateData certData = null; + CertData certData = null; try { certData = getCert(data); } catch (EDBRecordNotFoundException e) { throw new CertNotFoundException(id); } catch (EBaseException e) { - throw new CMSException("Problem returning certificate: " + id); + throw new PKIException("Problem returning certificate: " + id); } catch (CertificateEncodingException e) { - throw new CMSException("Problem encoding certificate searched for: " + id); + throw new PKIException("Problem encoding certificate searched for: " + id); } return certData; @@ -152,7 +153,7 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.setAuthority(authority); } catch (EBaseException e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } try { @@ -190,7 +191,7 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.auditChangeRequest(ILogger.SUCCESS); - } catch (CMSException e) { + } catch (PKIException e) { processor.log(ILogger.LL_FAILURE, e.getMessage()); processor.auditChangeRequest(ILogger.FAILURE); throw e; @@ -199,13 +200,13 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.log(ILogger.LL_FAILURE, "Error " + e); processor.auditChangeRequest(ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } catch (IOException e) { processor.log(ILogger.LL_FAILURE, CMS.getLogMessage("CMSGW_ERROR_MARKING_CERT_REVOKED_1", e.toString())); processor.auditChangeRequest(ILogger.FAILURE); - throw new CMSException(CMS.getLogMessage("CMSGW_ERROR_MARKING_CERT_REVOKED")); + throw new PKIException(CMS.getLogMessage("CMSGW_ERROR_MARKING_CERT_REVOKED")); } // change audit processing from "REQUEST" to "REQUEST_PROCESSED" @@ -221,7 +222,7 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.log(ILogger.LL_FAILURE, "Error " + e); processor.auditChangeRequestProcessed(ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } try { @@ -230,7 +231,7 @@ public class CertResourceService extends CMSResourceService implements CertResou return dao.getRequest(certRequest.getRequestId(), uriInfo); } catch (EBaseException e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -249,7 +250,7 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.setAuthority(authority); } catch (EBaseException e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } try { @@ -262,7 +263,7 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.log(ILogger.LL_FAILURE, "Error " + e); processor.auditChangeRequest(ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } // change audit processing from "REQUEST" to "REQUEST_PROCESSED" @@ -278,7 +279,7 @@ public class CertResourceService extends CMSResourceService implements CertResou processor.log(ILogger.LL_FAILURE, "Error " + e); processor.auditChangeRequestProcessed(ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } try { @@ -287,7 +288,7 @@ public class CertResourceService extends CMSResourceService implements CertResou return dao.getRequest(certRequest.getRequestId(), uriInfo); } catch (EBaseException e) { - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } } @@ -306,7 +307,7 @@ public class CertResourceService extends CMSResourceService implements CertResou return filter; } - private String createSearchFilter(CertSearchData data) { + private String createSearchFilter(CertSearchRequest data) { if (data == null) { return null; } @@ -325,13 +326,13 @@ public class CertResourceService extends CMSResourceService implements CertResou infos = getCertList(filter, maxResults, maxTime); } catch (EBaseException e) { e.printStackTrace(); - throw new CMSException("Error listing certs in CertsResourceService.listCerts!"); + throw new PKIException("Error listing certs in CertsResourceService.listCerts!"); } return infos; } @Override - public CertDataInfos searchCerts(CertSearchData data, Integer start, Integer size) { + public CertDataInfos searchCerts(CertSearchRequest data, Integer start, Integer size) { if (data == null) { throw new WebApplicationException(Response.Status.BAD_REQUEST); } @@ -372,7 +373,7 @@ public class CertResourceService extends CMSResourceService implements CertResou infos.addLink(new Link("next", uri)); } } catch (EBaseException e1) { - throw new CMSException("Error listing certs in CertsResourceService.listCerts!" + e.toString()); + throw new PKIException("Error listing certs in CertsResourceService.listCerts!" + e.toString()); } return infos; @@ -412,14 +413,14 @@ public class CertResourceService extends CMSResourceService implements CertResou return ret; } - public CertificateData getCert(CertRetrievalRequestData data) throws EBaseException, CertificateEncodingException { + public CertData getCert(CertRetrievalRequest data) throws EBaseException, CertificateEncodingException { CertId certId = data.getCertId(); //find the cert in question ICertRecord record = repo.readCertificateRecord(certId.toBigInteger()); X509CertImpl cert = record.getCertificate(); - CertificateData certData = new CertificateData(); + CertData certData = new CertData(); certData.setSerialNumber(certId); diff --git a/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java b/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java index 167385ea9..f45947e8c 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java +++ b/base/common/src/com/netscape/cms/servlet/cert/DoRevoke.java @@ -49,6 +49,7 @@ import com.netscape.certsrv.authorization.EAuthzAccessDenied; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IArgBlock; import com.netscape.certsrv.base.Nonces; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.ca.ICRLIssuingPoint; import com.netscape.certsrv.ca.ICertificateAuthority; import com.netscape.certsrv.dbs.certdb.CertId; @@ -65,7 +66,6 @@ import com.netscape.certsrv.usrgrp.Certificates; import com.netscape.certsrv.usrgrp.ICertUserLocator; import com.netscape.certsrv.usrgrp.IUGSubsystem; import com.netscape.certsrv.usrgrp.IUser; -import com.netscape.cms.servlet.base.CMSException; import com.netscape.cms.servlet.base.CMSServlet; import com.netscape.cms.servlet.common.CMSRequest; import com.netscape.cms.servlet.common.CMSTemplate; @@ -473,7 +473,7 @@ public class DoRevoke extends CMSServlet { processor.addCertificateToRevoke(targetCert); rarg.addStringValue("error", null); - } catch (CMSException ex) { + } catch (PKIException ex) { rarg.addStringValue("error", ex.getMessage()); } diff --git a/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java b/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java index 292f60457..cca8381fd 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java +++ b/base/common/src/com/netscape/cms/servlet/cert/DoUnrevoke.java @@ -40,6 +40,7 @@ import com.netscape.certsrv.authorization.AuthzToken; import com.netscape.certsrv.authorization.EAuthzAccessDenied; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IArgBlock; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.ca.ICRLIssuingPoint; import com.netscape.certsrv.ca.ICertificateAuthority; import com.netscape.certsrv.dbs.certdb.CertId; @@ -50,7 +51,6 @@ import com.netscape.certsrv.publish.IPublisherProcessor; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; -import com.netscape.cms.servlet.base.CMSException; import com.netscape.cms.servlet.base.CMSServlet; import com.netscape.cms.servlet.common.CMSRequest; import com.netscape.cms.servlet.common.CMSTemplate; @@ -274,7 +274,7 @@ public class DoUnrevoke extends CMSServlet { processor.log(ILogger.LL_FAILURE, "Error " + e); processor.auditChangeRequest(ILogger.FAILURE); - throw new CMSException(e.getMessage()); + throw new PKIException(e.getMessage()); } // change audit processing from "REQUEST" to "REQUEST_PROCESSED" diff --git a/base/common/src/com/netscape/cms/servlet/cert/EnrollmentProcessor.java b/base/common/src/com/netscape/cms/servlet/cert/EnrollmentProcessor.java index 8b48f0d73..911b30fa3 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/EnrollmentProcessor.java +++ b/base/common/src/com/netscape/cms/servlet/cert/EnrollmentProcessor.java @@ -30,16 +30,15 @@ import com.netscape.certsrv.base.BadRequestDataException; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.EPropertyNotFound; import com.netscape.certsrv.base.SessionContext; +import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileAuthenticator; import com.netscape.certsrv.profile.IProfileContext; import com.netscape.certsrv.profile.IProfileInput; +import com.netscape.certsrv.profile.ProfileInput; import com.netscape.certsrv.request.IRequest; import com.netscape.cms.servlet.common.CMSRequest; import com.netscape.cms.servlet.profile.SSLClientCertProvider; -import com.netscape.cms.servlet.profile.model.ProfileInput; -import com.netscape.cms.servlet.request.model.EnrollmentRequestData; -import com.netscape.cms.servlet.request.model.EnrollmentRequestDataFactory; public class EnrollmentProcessor extends CertProcessor { @@ -47,7 +46,7 @@ public class EnrollmentProcessor extends CertProcessor { super(id, locale); } - private void setInputsIntoContext(EnrollmentRequestData data, IProfile profile, IProfileContext ctx) { + private void setInputsIntoContext(CertEnrollmentRequest data, IProfile profile, IProfileContext ctx) { // put profile inputs into a local map HashMap<String, String> dataInputs = new HashMap<String, String>(); for (ProfileInput input : data.getInputs()) { @@ -97,7 +96,7 @@ public class EnrollmentProcessor extends CertProcessor { throw new BadRequestDataException(CMS.getUserMessage(locale, "CMS_PROFILE_NOT_FOUND", profileId)); } - EnrollmentRequestData data = EnrollmentRequestDataFactory.create(cmsReq, profile, locale); + CertEnrollmentRequest data = CertEnrollmentRequestFactory.create(cmsReq, profile, locale); return processEnrollment(data, cmsReq.getHttpReq()); } @@ -118,7 +117,7 @@ public class EnrollmentProcessor extends CertProcessor { * @param cmsReq the object holding the request and response information * @exception EBaseException an error has occurred */ - public HashMap<String, Object> processEnrollment(EnrollmentRequestData data, HttpServletRequest request) + public HashMap<String, Object> processEnrollment(CertEnrollmentRequest data, HttpServletRequest request) throws EBaseException { try { diff --git a/base/common/src/com/netscape/cms/servlet/cert/RenewalProcessor.java b/base/common/src/com/netscape/cms/servlet/cert/RenewalProcessor.java index cc4dd12ae..a13a305b8 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/RenewalProcessor.java +++ b/base/common/src/com/netscape/cms/servlet/cert/RenewalProcessor.java @@ -35,6 +35,7 @@ import com.netscape.certsrv.base.BadRequestDataException; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.EPropertyNotFound; import com.netscape.certsrv.base.SessionContext; +import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.certsrv.dbs.certdb.ICertRecord; import com.netscape.certsrv.profile.IEnrollProfile; import com.netscape.certsrv.profile.IProfile; @@ -44,8 +45,6 @@ import com.netscape.certsrv.profile.IProfileInput; import com.netscape.certsrv.request.IRequest; import com.netscape.cms.servlet.common.CMSRequest; import com.netscape.cms.servlet.profile.SSLClientCertProvider; -import com.netscape.cms.servlet.request.model.EnrollmentRequestData; -import com.netscape.cms.servlet.request.model.EnrollmentRequestDataFactory; public class RenewalProcessor extends CertProcessor { @@ -61,7 +60,7 @@ public class RenewalProcessor extends CertProcessor { throw new BadRequestDataException(CMS.getUserMessage(locale, "CMS_PROFILE_NOT_FOUND", profileId)); } - EnrollmentRequestData data = EnrollmentRequestDataFactory.create(cmsReq, profile, locale); + CertEnrollmentRequest data = CertEnrollmentRequestFactory.create(cmsReq, profile, locale); //only used in renewal data.setSerialNum(req.getParameter("serial_num")); @@ -78,7 +77,7 @@ public class RenewalProcessor extends CertProcessor { * Things to note: * * the renew request will contain the original profile instead of the new */ - public HashMap<String, Object> processRenewal(EnrollmentRequestData data, HttpServletRequest request) + public HashMap<String, Object> processRenewal(CertEnrollmentRequest data, HttpServletRequest request) throws EBaseException { try { if (CMS.debugOn()) { diff --git a/base/common/src/com/netscape/cms/servlet/cert/RequestProcessor.java b/base/common/src/com/netscape/cms/servlet/cert/RequestProcessor.java index 57e33f3a5..74a3183d6 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/RequestProcessor.java +++ b/base/common/src/com/netscape/cms/servlet/cert/RequestProcessor.java @@ -36,6 +36,7 @@ import com.netscape.certsrv.base.BadRequestDataException; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.EPropertyNotFound; import com.netscape.certsrv.base.IConfigStore; +import com.netscape.certsrv.cert.CertReviewResponse; import com.netscape.certsrv.logging.ILogger; import com.netscape.certsrv.profile.EDeferException; import com.netscape.certsrv.profile.EProfileException; @@ -46,19 +47,17 @@ import com.netscape.certsrv.profile.IPolicyDefault; import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileOutput; import com.netscape.certsrv.profile.IProfilePolicy; +import com.netscape.certsrv.profile.PolicyDefault; +import com.netscape.certsrv.profile.ProfileAttribute; +import com.netscape.certsrv.profile.ProfileOutput; +import com.netscape.certsrv.profile.ProfilePolicySet; import com.netscape.certsrv.property.EPropertyException; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; import com.netscape.cms.profile.common.ProfilePolicy; import com.netscape.cms.servlet.common.CMSRequest; -import com.netscape.cms.servlet.profile.model.PolicyDefault; -import com.netscape.cms.servlet.profile.model.ProfileAttribute; -import com.netscape.cms.servlet.profile.model.ProfileOutput; -import com.netscape.cms.servlet.profile.model.ProfileOutputFactory; -import com.netscape.cms.servlet.profile.model.ProfilePolicySet; -import com.netscape.cms.servlet.request.model.AgentEnrollmentRequestData; -import com.netscape.cms.servlet.request.model.AgentEnrollmentRequestDataFactory; +import com.netscape.cms.servlet.profile.ProfileOutputFactory; public class RequestProcessor extends CertProcessor { @@ -66,19 +65,19 @@ public class RequestProcessor extends CertProcessor { super(id, locale); } - public AgentEnrollmentRequestData processRequest(CMSRequest cmsReq, IRequest request, String op) throws EBaseException { + public CertReviewResponse processRequest(CMSRequest cmsReq, IRequest request, String op) throws EBaseException { HttpServletRequest req = cmsReq.getHttpReq(); IRequest ireq = cmsReq.getIRequest(); String profileId = ireq.getExtDataInString("profileId"); IProfile profile = ps.getProfile(profileId); - AgentEnrollmentRequestData data = AgentEnrollmentRequestDataFactory.create(cmsReq, profile, nonces, locale); + CertReviewResponse data = CertReviewResponseFactory.create(cmsReq, profile, nonces, locale); processRequest(req, data, request, op); return data; } - public void processRequest(HttpServletRequest request, AgentEnrollmentRequestData data, IRequest req, String op) + public void processRequest(HttpServletRequest request, CertReviewResponse data, IRequest req, String op) throws EBaseException { try { startTiming("approval"); @@ -355,7 +354,7 @@ public class RequestProcessor extends CertProcessor { * @exception EProfileException an error related to this profile has * occurred */ - private void approveRequest(IRequest req, AgentEnrollmentRequestData data, IProfile profile, Locale locale) + private void approveRequest(IRequest req, CertReviewResponse data, IProfile profile, Locale locale) throws EProfileException { String auditMessage = null; String auditSubjectID = auditSubjectID(); @@ -404,14 +403,14 @@ public class RequestProcessor extends CertProcessor { } } - private void updateValues(AgentEnrollmentRequestData data, IRequest req, + private void updateValues(CertReviewResponse data, IRequest req, IProfile profile, Locale locale) throws ERejectException, EDeferException, EPropertyException { // put request policy defaults in a local hash HashMap<String, String> policyData = new HashMap<String,String>(); for (ProfilePolicySet policySet: data.getPolicySets()) { - for (com.netscape.cms.servlet.profile.model.ProfilePolicy policy: policySet.getPolicies()) { + for (com.netscape.certsrv.profile.ProfilePolicy policy: policySet.getPolicies()) { PolicyDefault def = policy.getDef(); List<ProfileAttribute> attrs = def.getAttributes(); for (ProfileAttribute attr: attrs) { @@ -443,7 +442,7 @@ public class RequestProcessor extends CertProcessor { } - private void updateNotes(AgentEnrollmentRequestData data, IRequest req) { + private void updateNotes(CertReviewResponse data, IRequest req) { String notes = data.getRequestNotes(); if (notes != null) { diff --git a/base/common/src/com/netscape/cms/servlet/cert/RevocationProcessor.java b/base/common/src/com/netscape/cms/servlet/cert/RevocationProcessor.java index 3f0fffbf4..36d00459b 100644 --- a/base/common/src/com/netscape/cms/servlet/cert/RevocationProcessor.java +++ b/base/common/src/com/netscape/cms/servlet/cert/RevocationProcessor.java @@ -35,8 +35,10 @@ import netscape.security.x509.RevokedCertImpl; import netscape.security.x509.X509CertImpl; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.EPropertyNotFound; +import com.netscape.certsrv.base.UnauthorizedException; import com.netscape.certsrv.ca.ICertificateAuthority; import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.certsrv.dbs.certdb.ICertRecord; @@ -48,8 +50,6 @@ import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.IRequestQueue; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; -import com.netscape.cms.servlet.base.BadRequestException; -import com.netscape.cms.servlet.base.UnauthorizedException; /** * @author Endi S. Dewata diff --git a/base/common/src/com/netscape/cms/servlet/cert/model/CertDataInfo.java b/base/common/src/com/netscape/cms/servlet/cert/model/CertDataInfo.java deleted file mode 100644 index 4c6a9b19e..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/model/CertDataInfo.java +++ /dev/null @@ -1,173 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -/** - * - */ -package com.netscape.cms.servlet.cert.model; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import org.jboss.resteasy.plugins.providers.atom.Link; - -import com.netscape.certsrv.dbs.certdb.CertId; -import com.netscape.certsrv.dbs.certdb.CertIdAdapter; - -/** - * @author alee - * - */ -@XmlRootElement(name = "CertDataInfo") -public class CertDataInfo { - - public static Marshaller marshaller; - public static Unmarshaller unmarshaller; - - static { - try { - JAXBContext context = JAXBContext.newInstance(CertDataInfo.class); - marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - unmarshaller = context.createUnmarshaller(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - CertId id; - String subjectDN; - String status; - - Link link; - - @XmlAttribute(name="id") - @XmlJavaTypeAdapter(CertIdAdapter.class) - public CertId getID() { - return id; - } - - public void setID(CertId id) { - this.id = id; - } - - @XmlElement(name="SubjectDN") - public String getSubjectDN() { - return subjectDN; - } - - public void setSubjectDN(String subjectDN) { - this.subjectDN = subjectDN; - } - - @XmlElement(name="Status") - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - @XmlElement(name="Link") - public Link getLink() { - return link; - } - - public void setLink(Link link) { - this.link = link; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((id == null) ? 0 : id.hashCode()); - result = prime * result + ((status == null) ? 0 : status.hashCode()); - result = prime * result + ((subjectDN == null) ? 0 : subjectDN.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - CertDataInfo other = (CertDataInfo) obj; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - if (status == null) { - if (other.status != null) - return false; - } else if (!status.equals(other.status)) - return false; - if (subjectDN == null) { - if (other.subjectDN != null) - return false; - } else if (!subjectDN.equals(other.subjectDN)) - return false; - return true; - } - - public String toString() { - try { - StringWriter sw = new StringWriter(); - marshaller.marshal(this, sw); - return sw.toString(); - - } catch (Exception e) { - return super.toString(); - } - } - - public static CertDataInfo valueOf(String string) throws Exception { - try { - return (CertDataInfo)unmarshaller.unmarshal(new StringReader(string)); - } catch (Exception e) { - return null; - } - } - - public static void main(String args[]) throws Exception { - - CertDataInfo before = new CertDataInfo(); - before.setID(new CertId("12512514865863765114")); - before.setSubjectDN("CN=Test User,UID=testuser,O=EXAMPLE-COM"); - before.setStatus("VALID"); - - String string = before.toString(); - System.out.println(string); - - CertDataInfo after = CertDataInfo.valueOf(string); - - System.out.println(before.equals(after)); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/cert/model/CertDataInfos.java b/base/common/src/com/netscape/cms/servlet/cert/model/CertDataInfos.java deleted file mode 100644 index 189c58cbe..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/model/CertDataInfos.java +++ /dev/null @@ -1,72 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2012 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.cert.model; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; - -import org.jboss.resteasy.plugins.providers.atom.Link; - -@XmlRootElement(name = "CertDataInfos") -public class CertDataInfos { - - protected Collection<CertDataInfo> certInfos = new ArrayList<CertDataInfo>(); - protected List<Link> links = new ArrayList<Link>(); - - /** - * @return the CertInfos - */ - @XmlElementRef - public Collection<CertDataInfo> getCertInfos() { - return certInfos; - } - - /** - * @param certInfos the CertInfos to set - */ - public void setCertInfos(Collection<CertDataInfo> certInfos) { - this.certInfos = certInfos; - } - - /** - * @return the links - */ - @XmlElementRef - public List<Link> getLinks() { - return links; - } - - /** - * @param links the links to set - */ - public void setLinks(List<Link> links) { - this.links = links; - } - - public void addCertData(CertDataInfo certInfo){ - this.certInfos.add(certInfo); - } - - public void addLink(Link link) { - this.links.add(link); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/cert/model/CertRevokeRequest.java b/base/common/src/com/netscape/cms/servlet/cert/model/CertRevokeRequest.java deleted file mode 100644 index ef9ccebc3..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/model/CertRevokeRequest.java +++ /dev/null @@ -1,205 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -package com.netscape.cms.servlet.cert.model; - -import java.io.StringReader; -import java.io.StringWriter; -import java.util.Date; - -import javax.ws.rs.FormParam; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import netscape.security.x509.RevocationReason; -import netscape.security.x509.RevocationReasonAdapter; - -import com.netscape.certsrv.request.IRequest; -import com.netscape.certsrv.request.RequestId; -import com.netscape.certsrv.request.RequestIdAdapter; -import com.netscape.certsrv.util.DateAdapter; - -/** - * @author Endi S. Dewata - */ -@XmlRootElement(name="CertRevokeRequest") -public class CertRevokeRequest { - - public static Marshaller marshaller; - public static Unmarshaller unmarshaller; - - static { - try { - JAXBContext context = JAXBContext.newInstance(CertRevokeRequest.class); - marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - unmarshaller = context.createUnmarshaller(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - RequestId requestID; - RevocationReason reason; - Date invalidityDate; - String comments; - String encoded; - - - @XmlElement(name="RequestID") - @FormParam("requestId") - @XmlJavaTypeAdapter(RequestIdAdapter.class) - public RequestId getRequestID() { - return requestID; - } - - public void setRequestID(RequestId requestID) { - this.requestID = requestID; - } - - @XmlElement(name="Reason") - @FormParam("revocationReason") - @XmlJavaTypeAdapter(RevocationReasonAdapter.class) - public RevocationReason getReason() { - return reason; - } - - public void setReason(RevocationReason reason) { - this.reason = reason; - } - - @XmlElement(name="InvalidityDate") - @FormParam("invalidityDate") - @XmlJavaTypeAdapter(DateAdapter.class) - public Date getInvalidityDate() { - return invalidityDate; - } - - public void setInvalidityDate(Date invalidityDate) { - this.invalidityDate = invalidityDate; - } - - @XmlElement(name="Comments") - @FormParam(IRequest.REQUESTOR_COMMENTS) - public String getComments() { - return comments; - } - - public void setComments(String comments) { - this.comments = comments; - } - - @XmlElement(name="Encoded") - @FormParam("b64eCertificate") - public String getEncoded() { - return encoded; - } - - public void setEncoded(String encoded) { - this.encoded = encoded; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((comments == null) ? 0 : comments.hashCode()); - result = prime * result + ((encoded == null) ? 0 : encoded.hashCode()); - result = prime * result + ((invalidityDate == null) ? 0 : invalidityDate.hashCode()); - result = prime * result + ((reason == null) ? 0 : reason.hashCode()); - result = prime * result + ((requestID == null) ? 0 : requestID.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - CertRevokeRequest other = (CertRevokeRequest) obj; - if (comments == null) { - if (other.comments != null) - return false; - } else if (!comments.equals(other.comments)) - return false; - if (encoded == null) { - if (other.encoded != null) - return false; - } else if (!encoded.equals(other.encoded)) - return false; - if (invalidityDate == null) { - if (other.invalidityDate != null) - return false; - } else if (!invalidityDate.equals(other.invalidityDate)) - return false; - if (reason == null) { - if (other.reason != null) - return false; - } else if (!reason.equals(other.reason)) - return false; - if (requestID == null) { - if (other.requestID != null) - return false; - } else if (!requestID.equals(other.requestID)) - return false; - return true; - } - - public String toString() { - try { - StringWriter sw = new StringWriter(); - marshaller.marshal(this, sw); - return sw.toString(); - - } catch (Exception e) { - return super.toString(); - } - } - - public static CertRevokeRequest valueOf(String string) throws Exception { - try { - return (CertRevokeRequest)unmarshaller.unmarshal(new StringReader(string)); - } catch (Exception e) { - return null; - } - } - - public static void main(String args[]) throws Exception { - - CertRevokeRequest before = new CertRevokeRequest(); - before.setRequestID(new RequestId("42323234")); - before.setReason(RevocationReason.CERTIFICATE_HOLD); - before.setInvalidityDate(new Date()); - before.setComments("test"); - before.setEncoded("test"); - - String string = before.toString(); - System.out.println(string); - - CertRevokeRequest after = CertRevokeRequest.valueOf(string); - - System.out.println(before.equals(after)); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/cert/model/CertSearchData.java b/base/common/src/com/netscape/cms/servlet/cert/model/CertSearchData.java deleted file mode 100644 index 44092ac16..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/model/CertSearchData.java +++ /dev/null @@ -1,862 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2011 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- - -// TODO: This class is brute force. Come up with a way to divide these search filter entities into -// smaller classes -package com.netscape.cms.servlet.cert.model; - -import java.io.Reader; -import java.util.Calendar; -import java.util.StringTokenizer; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import com.netscape.cmsutil.ldap.LDAPUtil; - -/** - * @author jmagne - * - */ -@XmlRootElement(name = "CertSearchData") -@XmlAccessorType(XmlAccessType.FIELD) -public class CertSearchData { - - private final static String MATCH_EXACTLY = "exact"; - //Serial Number - @XmlElement - protected boolean serialNumberRangeInUse; - - @XmlElement - protected String serialTo; - - @XmlElement - protected String serialFrom; - - //Subject Name - @XmlElement - protected boolean subjectInUse; - - @XmlElement - protected String eMail; - - @XmlElement - protected String commonName; - - @XmlElement - protected String userID; - - @XmlElement - protected String orgUnit; - - @XmlElement - protected String org; - - @XmlElement - protected String locality; - - @XmlElement - protected String state; - - @XmlElement - protected String country; - - @XmlElement - protected boolean matchExactly; - - //Revoked By - - @XmlElement - protected String revokedBy; - - //Revoked On - - @XmlElement - protected String revokedOnFrom; - - @XmlElement - protected String revokedOnTo; - - //Revocation Reason - - @XmlElement - protected String revocationReason; - - //Issued By - - @XmlElement - protected String issuedBy; - - //Issued On - - @XmlElement - protected String issuedOnFrom; - - @XmlElement - protected String issuedOnTo; - - //Valid Not Before - - @XmlElement - protected String validNotBeforeFrom; - - @XmlElement - protected String validNotBeforeTo; - - //Valid Not After - - @XmlElement - protected String validNotAfterFrom; - - @XmlElement - protected String validNotAfterTo; - - //Validity Length - - @XmlElement - protected String validityOperation; - - @XmlElement - protected String validityCount; - - @XmlElement - protected String validityUnit; - - // Cert Type - - @XmlElement - protected String certTypeSubEmailCA; - - @XmlElement - protected String certTypeSubSSLCA; - - @XmlElement - protected String certTypeSecureEmail; - - @XmlElement - protected String certTypeSSLClient; - - @XmlElement - protected String certTypeSSLServer; - - //Revoked By - @XmlElement - protected boolean revokedByInUse; - - //Revoked On - @XmlElement - protected boolean revokedOnInUse; - - @XmlElement - protected boolean revocationReasonInUse; - - @XmlElement - protected boolean issuedByInUse; - - @XmlElement - protected boolean issuedOnInUse; - - @XmlElement - protected boolean validNotBeforeInUse; - - @XmlElement - protected boolean validNotAfterInUse; - - @XmlElement - protected boolean validityLengthInUse; - - @XmlElement - protected boolean certTypeInUse; - - //Boolean values - public boolean getSerialNumberRangeInUse() { - return serialNumberRangeInUse; - } - - public void setSerialNumberRangeInUse(boolean serialNumberRangeInUse) { - this.serialNumberRangeInUse = serialNumberRangeInUse; - } - - public boolean getSubjectInUse() { - return subjectInUse; - } - - public void setSubjectInUse(boolean subjectInUse) { - this.subjectInUse = subjectInUse; - } - - public boolean getRevokedByInUse() { - return revokedByInUse; - } - - public void setRevokedByInUse(boolean revokedByInUse) { - this.revokedByInUse = revokedByInUse; - } - - public boolean getRevokedOnInUse() { - return revokedOnInUse; - } - - public void setRevokedOnInUse(boolean revokedOnInUse) { - this.revokedOnInUse = revokedOnInUse; - } - - public void setRevocationReasonInUse(boolean revocationReasonInUse) { - this.revocationReasonInUse = revocationReasonInUse; - } - - public boolean getRevocationReasonInUse() { - return revocationReasonInUse; - } - - public void setIssuedByInUse(boolean issuedByInUse) { - this.issuedByInUse = issuedByInUse; - } - - public boolean getIssuedByInUse() { - return issuedByInUse; - } - - public void setIssuedOnInUse(boolean issuedOnInUse) { - this.issuedOnInUse = issuedOnInUse; - } - - public boolean getIssuedOnInUse() { - return issuedOnInUse; - } - - public void setValidNotBeforeInUse(boolean validNotBeforeInUse) { - this.validNotBeforeInUse = validNotBeforeInUse; - } - - public boolean getValidNotBeforeInUse() { - return validNotBeforeInUse; - } - - public void setValidNotAfterInUse(boolean validNotAfterInUse) { - this.validNotAfterInUse = validNotAfterInUse; - } - - public boolean getValidNotAfterInUse() { - return validNotAfterInUse; - } - - public void setValidityLengthInUse(boolean validityLengthInUse) { - this.validityLengthInUse = validityLengthInUse; - } - - public boolean getValidityLengthInUse() { - return validityLengthInUse; - } - - public void setCertTypeInUse(boolean certTypeInUse) { - this.certTypeInUse = certTypeInUse; - } - - public boolean getCertTypeInUse() { - return certTypeInUse; - } - - //Actual Values - - public String getSerialTo() { - return serialTo; - } - - public void setSerialTo(String serialTo) { - this.serialTo = serialTo; - } - - public String getSerialFrom() { - return serialFrom; - } - - public void setSerialFrom(String serialFrom) { - this.serialFrom = serialFrom; - } - - //Subject Name - - public String getEmail() { - return eMail; - } - - public void setEmail(String email) { - this.eMail = email; - } - - public String getCommonName() { - return commonName; - } - - public void setCommonName(String commonName) { - this.commonName = commonName; - } - - public String getUserID() { - return userID; - } - - public void setUserID(String userID) { - this.userID = userID; - } - - public String getOrgUnit() { - return orgUnit; - } - - public void setOrgUnit(String orgUnit) { - this.orgUnit = orgUnit; - } - - public String getOrg() { - return org; - } - - public void setOrg(String org) { - this.org = org; - } - - public String getLocality() { - return locality; - } - - public void setLocality(String locality) { - this.locality = locality; - } - - public String getState() { - return state; - } - - public void setState(String state) { - this.state = state; - } - - public String getCountry() { - return country; - } - - public void setCountry(String country) { - this.country = country; - } - - public boolean getMatchExactly() { - return matchExactly; - } - - public void setMatchExactly(boolean matchExactly) { - this.matchExactly = matchExactly; - } - - //Revoked On - - public String getRevokedOnTo() { - return revokedOnTo; - } - - public void setRevokedOnTo(String revokedOnTo) { - this.revokedOnTo = revokedOnTo; - } - - public String getRevokedOnFrom() { - return revokedOnFrom; - } - - public void setRevokedOnFrom(String revokedOnFrom) { - this.revokedOnFrom = revokedOnFrom; - } - - //Revoked By - - public String getRevokedBy() { - return revokedBy; - } - - public void setRevokedBy(String revokedBy) { - this.revokedBy = revokedBy; - } - - //Revocation Reason - - public String getRevocationReason() { - return revocationReason; - } - - public void setRevocationReason(String revocationReason) { - this.revocationReason = revocationReason; - } - - //Issued By - - public String getIssuedBy() { - return issuedBy; - } - - public void setIssuedBy(String issuedBy) { - this.issuedBy = issuedBy; - } - - //Issued On - - public String getIssuedOnFrom() { - return issuedOnFrom; - } - - public void setIssuedOnFrom(String issuedOnFrom) { - this.issuedOnFrom = issuedOnFrom; - } - - public String getIssuedOnTo() { - return getIssuedOnTo(); - } - - //Valid Not After - - public String getValidNotAfterFrom() { - return validNotAfterFrom; - } - - public void setValidNotAfterFrom(String validNotAfterFrom) { - this.validNotAfterFrom = validNotAfterFrom; - } - - public String getValidNotAfterTo() { - return validNotAfterTo; - } - - public void setValidNotAfterTo(String validNotAfterTo) { - this.validNotAfterTo = validNotAfterTo; - } - - //Valid Not Before - - public String getValidNotBeforeFrom() { - return validNotBeforeFrom; - } - - public void setValidNotBeforeFrom(String validNotBeforeFrom) { - this.validNotBeforeFrom = validNotBeforeFrom; - } - - public String getValidNotBeforeTo() { - return validNotBeforeTo; - } - - public void setValidNotBeforeTo(String validNotBeforeTo) { - this.validNotBeforeTo = validNotBeforeTo; - } - - //Validity Length - - public String getValidityOperation() { - return validityOperation; - } - - public void setValidityOperation(String validityOperation) { - this.validityOperation = validityOperation; - } - - public String getValidityUnit() { - return validityUnit; - } - - public void setValidityUnit(String validityUnit) { - this.validityUnit = validityUnit; - } - - public String getValidityCount() { - return validityCount; - } - - public void setValidityCount(String validityCount) { - this.validityCount = validityCount; - } - - //Cert Type - - public String getCertTypeSubEmailCA() { - return certTypeSubEmailCA; - } - - public void setCertTypeSubEmailCA(String certTypeSubEmailCA) { - this.certTypeSubEmailCA = certTypeSubEmailCA; - } - - public String getCertTypeSubSSLCA() { - return certTypeSubSSLCA; - } - - public void setCertTypeSubSSLCA(String certTypeSubSSLCA) { - this.certTypeSubSSLCA = certTypeSubSSLCA; - } - - public String getCertTypeSecureEmail() { - return certTypeSecureEmail; - } - - public void setCertTypeSecureEmail(String certTypeSecureEmail) { - this.certTypeSecureEmail = certTypeSecureEmail; - } - - public String getCertTypeSSLClient() { - return certTypeSSLClient; - } - - public void setCertTypeSSLClient(String SSLClient) { - this.certTypeSSLClient = SSLClient; - } - - public String getCertTypeSSLServer() { - return certTypeSSLServer; - } - - public void setCertTypeSSLServer(String SSLServer) { - this.certTypeSSLServer = SSLServer; - } - - public CertSearchData() { - // required for JAXB (defaults) - } - - public void buildFromServletRequest(HttpServletRequest req) { - //Set values from the servlet request - if (req == null) { - return; - } - } - - public CertSearchData(MultivaluedMap<String, String> form) { - } - - public String buildFilter() { - StringBuffer filter = new StringBuffer(); - buildSerialNumberRangeFilter(filter); - buildSubjectFilter(filter); - buildRevokedByFilter(filter); - buildRevokedOnFilter(filter); - buildRevocationReasonFilter(filter); - buildIssuedByFilter(filter); - buildIssuedOnFilter(filter); - buildValidNotBeforeFilter(filter); - buildValidNotAfterFilter(filter); - buildValidityLengthFilter(filter); - buildCertTypeFilter(filter); - - searchFilter = filter.toString(); - - if (searchFilter != null && !searchFilter.equals("")) { - searchFilter = "(&" + searchFilter + ")"; - } - - return searchFilter; - } - - private void buildSerialNumberRangeFilter(StringBuffer filter) { - - if (!getSerialNumberRangeInUse()) { - return; - } - boolean changed = false; - String serialFrom = getSerialFrom(); - if (serialFrom != null && !serialFrom.equals("")) { - filter.append("(certRecordId>=" + LDAPUtil.escapeFilter(serialFrom) + ")"); - changed = true; - } - String serialTo = getSerialTo(); - if (serialTo != null && !serialTo.equals("")) { - filter.append("(certRecordId<=" + LDAPUtil.escapeFilter(serialTo) + ")"); - changed = true; - } - if (!changed) { - filter.append("(certRecordId=*)"); - } - - } - - private void buildSubjectFilter(StringBuffer filter) { - if (!getSubjectInUse()) { - return; - } - StringBuffer lf = new StringBuffer(); - - String matchStr = null; - boolean match = getMatchExactly(); - - if (match == true) { - matchStr = MATCH_EXACTLY; - } - - buildAVAFilter(getEmail(), "E", lf, matchStr); - buildAVAFilter(getCommonName(), "CN", lf, matchStr); - buildAVAFilter(getUserID(), "UID", lf, matchStr); - buildAVAFilter(getOrgUnit(), "OU", lf, matchStr); - buildAVAFilter(getOrg(), "O", lf, matchStr); - buildAVAFilter(getLocality(), "L", lf, matchStr); - buildAVAFilter(getState(), "ST", lf, matchStr); - buildAVAFilter(getCountry(), "C", lf, matchStr); - - if (lf.length() == 0) { - filter.append("(x509cert.subject=*)"); - return; - } - if (matchStr != null && matchStr.equals(MATCH_EXACTLY)) { - filter.append("(&"); - filter.append(lf); - filter.append(")"); - } else { - filter.append("(|"); - filter.append(lf); - filter.append(")"); - } - } - - private void buildRevokedByFilter(StringBuffer filter) { - if (!getRevokedByInUse()) { - return; - } - - String revokedBy = getRevokedBy(); - if (revokedBy == null || revokedBy.equals("")) { - filter.append("(certRevokedBy=*)"); - } else { - filter.append("(certRevokedBy="); - filter.append(LDAPUtil.escapeFilter(revokedBy)); - filter.append(")"); - } - } - - private void buildDateFilter(String prefix, - String outStr, long adjustment, - StringBuffer filter) { - long epoch = 0; - try { - epoch = Long.parseLong(prefix); - } catch (NumberFormatException e) { - // exception safely ignored - } - Calendar from = Calendar.getInstance(); - from.setTimeInMillis(epoch); - filter.append("("); - filter.append(LDAPUtil.escapeFilter(outStr)); - filter.append(Long.toString(from.getTimeInMillis() + adjustment)); - filter.append(")"); - } - - private void buildRevokedOnFilter(StringBuffer filter) { - if (!getRevokedOnInUse()) { - return; - } - buildDateFilter(getRevokedOnFrom(), "certRevokedOn>=", 0, filter); - buildDateFilter(getRevokedOnTo(), "certRevokedOn<=", 86399999, filter); - } - - private void buildRevocationReasonFilter(StringBuffer filter) { - if (!getRevocationReasonInUse()) { - return; - } - String reasons = getRevocationReason(); - if (reasons == null) { - return; - } - String queryCertFilter = null; - StringTokenizer st = new StringTokenizer(reasons, ","); - if (st.hasMoreTokens()) { - filter.append("(|"); - while (st.hasMoreTokens()) { - String token = st.nextToken(); - if (queryCertFilter == null) { - queryCertFilter = ""; - } - filter.append("(x509cert.certRevoInfo="); - filter.append(LDAPUtil.escapeFilter(token)); - filter.append(")"); - } - filter.append(")"); - } - } - - private void buildIssuedByFilter(StringBuffer filter) { - if (!getIssuedByInUse()) { - return; - } - String issuedBy = getIssuedBy(); - ; - if (issuedBy == null || issuedBy.equals("")) { - filter.append("(certIssuedBy=*)"); - } else { - filter.append("(certIssuedBy="); - filter.append(LDAPUtil.escapeFilter(issuedBy)); - filter.append(")"); - } - } - - private void buildIssuedOnFilter(StringBuffer filter) { - if (!getIssuedOnInUse()) { - return; - } - buildDateFilter(getIssuedOnFrom(), "certCreateTime>=", 0, filter); - buildDateFilter(getIssuedOnTo(), "certCreateTime<=", 86399999, filter); - } - - private void buildValidNotBeforeFilter(StringBuffer filter) { - if (!getValidNotBeforeInUse()) { - return; - } - buildDateFilter(validNotBeforeFrom, "x509cert.notBefore>=", 0, filter); - buildDateFilter(validNotBeforeTo, "x509cert.notBefore<=", 86399999, filter); - - } - - private void buildValidNotAfterFilter(StringBuffer filter) { - if (!getValidNotAfterInUse()) { - return; - } - buildDateFilter(getValidNotAfterFrom(), "x509cert.notAfter>=", 0, filter); - buildDateFilter(getValidNotAfterTo(), "x509cert.notAfter<=", 86399999, filter); - - } - - private void buildValidityLengthFilter(StringBuffer filter) { - if (!getValidityLengthInUse()) { - return; - } - String op = getValidityOperation(); - long count = 0; - try { - count = Long.parseLong(getValidityCount()); - } catch (NumberFormatException e) { - // safely ignore - } - long unit = 0; - try { - unit = Long.parseLong(getValidityUnit()); - } catch (NumberFormatException e) { - // safely ignore - } - filter.append("("); - filter.append("x509cert.duration"); - filter.append(LDAPUtil.escapeFilter(op)); - filter.append(count * unit); - filter.append(")"); - } - - private void buildCertTypeFilter(StringBuffer filter) { - if (!getCertTypeInUse()) { - return; - } - if (isOn(getCertTypeSSLClient())) { - filter.append("(x509cert.nsExtension.SSLClient=on)"); - } else if (isOff(getCertTypeSSLClient())) { - filter.append("(x509cert.nsExtension.SSLClient=off)"); - } - if (isOn(getCertTypeSSLServer())) { - filter.append("(x509cert.nsExtension.SSLServer=on)"); - } else if (isOff(getCertTypeSSLServer())) { - filter.append("(x509cert.nsExtension.SSLServer=off)"); - } - if (isOn(getCertTypeSecureEmail())) { - filter.append("(x509cert.nsExtension.SecureEmail=on)"); - } else if (isOff(getCertTypeSecureEmail())) { - filter.append("(x509cert.nsExtension.SecureEmail=off)"); - } - if (isOn(getCertTypeSubSSLCA())) { - filter.append("(x509cert.nsExtension.SubordinateSSLCA=on)"); - } else if (isOff(getCertTypeSubSSLCA())) { - filter.append("(x509cert.nsExtension.SubordinateSSLCA=off)"); - } - if (isOn(getCertTypeSubEmailCA())) { - filter.append("(x509cert.nsExtension.SubordinateEmailCA=on)"); - } else if (isOff(getCertTypeSubEmailCA())) { - filter.append("(x509cert.nsExtension.SubordinateEmailCA=off)"); - } - } - - private boolean isOn(String value) { - String inUse = value; - if (inUse == null) { - return false; - } - if (inUse.equals("on")) { - return true; - } - return false; - } - - private boolean isOff(String value) { - String inUse = value; - if (inUse == null) { - return false; - } - if (inUse.equals("off")) { - return true; - } - return false; - } - - private void buildAVAFilter(String param, - String avaName, StringBuffer lf, String match) { - if (param != null && !param.equals("")) { - if (match != null && match.equals(MATCH_EXACTLY)) { - lf.append("(|"); - lf.append("(x509cert.subject=*"); - lf.append(avaName); - lf.append("="); - lf.append(LDAPUtil.escapeFilter(LDAPUtil.escapeDN(param, false))); - lf.append(",*)"); - lf.append("(x509cert.subject=*"); - lf.append(avaName); - lf.append("="); - lf.append(LDAPUtil.escapeFilter(LDAPUtil.escapeDN(param, false))); - lf.append(")"); - lf.append(")"); - } else { - lf.append("(x509cert.subject=*"); - lf.append(avaName); - lf.append("="); - lf.append("*"); - lf.append(LDAPUtil.escapeFilter(LDAPUtil.escapeDN(param, false))); - lf.append("*)"); - } - } - - } - - private String searchFilter = null; - - public String getSearchFilter() { - return searchFilter; - } - - public void setSearchFilter(String searchFilter) { - this.searchFilter = searchFilter; - } - - public static CertSearchData valueOf(Reader reader) throws JAXBException { - JAXBContext context = JAXBContext.newInstance(CertSearchData.class); - Unmarshaller unmarshaller = context.createUnmarshaller(); - return (CertSearchData) unmarshaller.unmarshal(reader); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/cert/model/CertUnrevokeRequest.java b/base/common/src/com/netscape/cms/servlet/cert/model/CertUnrevokeRequest.java deleted file mode 100644 index 98d24d363..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/model/CertUnrevokeRequest.java +++ /dev/null @@ -1,124 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -package com.netscape.cms.servlet.cert.model; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.ws.rs.FormParam; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import com.netscape.certsrv.request.RequestId; -import com.netscape.certsrv.request.RequestIdAdapter; - -/** - * @author Endi S. Dewata - */ -@XmlRootElement(name="CertUnrevokeRequest") -public class CertUnrevokeRequest { - - public static Marshaller marshaller; - public static Unmarshaller unmarshaller; - - static { - try { - JAXBContext context = JAXBContext.newInstance(CertUnrevokeRequest.class); - marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - unmarshaller = context.createUnmarshaller(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - RequestId requestID; - - @XmlElement(name="requestID") - @FormParam("requestId") - @XmlJavaTypeAdapter(RequestIdAdapter.class) - public RequestId getRequestID() { - return requestID; - } - - public void setRequestID(RequestId requestID) { - this.requestID = requestID; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((requestID == null) ? 0 : requestID.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - CertUnrevokeRequest other = (CertUnrevokeRequest) obj; - if (requestID == null) { - if (other.requestID != null) - return false; - } else if (!requestID.equals(other.requestID)) - return false; - return true; - } - - public String toString() { - try { - StringWriter sw = new StringWriter(); - marshaller.marshal(this, sw); - return sw.toString(); - - } catch (Exception e) { - return super.toString(); - } - } - - public static CertUnrevokeRequest valueOf(String string) throws Exception { - try { - return (CertUnrevokeRequest)unmarshaller.unmarshal(new StringReader(string)); - } catch (Exception e) { - return null; - } - } - - public static void main(String args[]) throws Exception { - - CertUnrevokeRequest before = new CertUnrevokeRequest(); - before.setRequestID(new RequestId("42323234")); - - String string = before.toString(); - System.out.println(string); - - CertUnrevokeRequest after = CertUnrevokeRequest.valueOf(string); - - System.out.println(before.equals(after)); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/cert/model/CertificateData.java b/base/common/src/com/netscape/cms/servlet/cert/model/CertificateData.java deleted file mode 100644 index bfdb894cb..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/model/CertificateData.java +++ /dev/null @@ -1,283 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.cert.model; - -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import org.jboss.resteasy.plugins.providers.atom.Link; - -import com.netscape.certsrv.dbs.certdb.CertId; -import com.netscape.certsrv.dbs.certdb.CertIdAdapter; - -/** - * @author alee - * - */ -@XmlRootElement(name = "CertificateData") -public class CertificateData { - - public static Marshaller marshaller; - public static Unmarshaller unmarshaller; - - static { - try { - marshaller = JAXBContext.newInstance(CertificateData.class).createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - unmarshaller = JAXBContext.newInstance(CertificateData.class).createUnmarshaller(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - CertId serialNumber; - String issuerDN; - String subjectDN; - String prettyPrint; - String encoded; - String pkcs7CertChain; - String notBefore; - String notAfter; - String status; - - Link link; - - @XmlAttribute(name="id") - @XmlJavaTypeAdapter(CertIdAdapter.class) - public CertId getSerialNumber() { - return serialNumber; - } - - public void setSerialNumber(CertId serialNumber) { - this.serialNumber = serialNumber; - } - - @XmlElement(name="IssuerDN") - public String getIssuerDN() { - return issuerDN; - } - - public void setIssuerDN(String issuerDN) { - this.issuerDN = issuerDN; - } - - @XmlElement(name="SubjectDN") - public String getSubjectDN() { - return subjectDN; - } - - public void setSubjectDN(String subjectDN) { - this.subjectDN = subjectDN; - } - - @XmlElement(name="PrettyPrint") - public String getPrettyPrint() { - return prettyPrint; - } - - public void setPrettyPrint(String prettyPrint) { - this.prettyPrint = prettyPrint; - } - - @XmlElement(name="Encoded") - public String getEncoded() { - return encoded; - } - - public void setEncoded(String encoded) { - this.encoded = encoded; - } - - @XmlElement(name="PKCS7CertChain") - public void setPkcs7CertChain(String chain) { - this.pkcs7CertChain = chain; - } - - public String getPkcs7CertChain() { - return pkcs7CertChain; - } - - @XmlElement(name="NotBefore") - public String getNotBefore() { - return notBefore; - } - - public void setNotBefore(String notBefore) { - this.notBefore = notBefore; - } - - @XmlElement(name="NotAfter") - public String getNotAfter() { - return notAfter; - } - - public void setNotAfter(String notAfter) { - this.notAfter = notAfter; - } - - @XmlElement(name="Status") - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - @XmlElement(name="Link") - public Link getLink() { - return link; - } - - public void setLink(Link link) { - this.link = link; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((encoded == null) ? 0 : encoded.hashCode()); - result = prime * result + ((issuerDN == null) ? 0 : issuerDN.hashCode()); - result = prime * result + ((notAfter == null) ? 0 : notAfter.hashCode()); - result = prime * result + ((notBefore == null) ? 0 : notBefore.hashCode()); - result = prime * result + ((pkcs7CertChain == null) ? 0 : pkcs7CertChain.hashCode()); - result = prime * result + ((prettyPrint == null) ? 0 : prettyPrint.hashCode()); - result = prime * result + ((serialNumber == null) ? 0 : serialNumber.hashCode()); - result = prime * result + ((status == null) ? 0 : status.hashCode()); - result = prime * result + ((subjectDN == null) ? 0 : subjectDN.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - CertificateData other = (CertificateData) obj; - if (encoded == null) { - if (other.encoded != null) - return false; - } else if (!encoded.equals(other.encoded)) - return false; - if (issuerDN == null) { - if (other.issuerDN != null) - return false; - } else if (!issuerDN.equals(other.issuerDN)) - return false; - if (notAfter == null) { - if (other.notAfter != null) - return false; - } else if (!notAfter.equals(other.notAfter)) - return false; - if (notBefore == null) { - if (other.notBefore != null) - return false; - } else if (!notBefore.equals(other.notBefore)) - return false; - if (pkcs7CertChain == null) { - if (other.pkcs7CertChain != null) - return false; - } else if (!pkcs7CertChain.equals(other.pkcs7CertChain)) - return false; - if (prettyPrint == null) { - if (other.prettyPrint != null) - return false; - } else if (!prettyPrint.equals(other.prettyPrint)) - return false; - if (serialNumber == null) { - if (other.serialNumber != null) - return false; - } else if (!serialNumber.equals(other.serialNumber)) - return false; - if (status == null) { - if (other.status != null) - return false; - } else if (!status.equals(other.status)) - return false; - if (subjectDN == null) { - if (other.subjectDN != null) - return false; - } else if (!subjectDN.equals(other.subjectDN)) - return false; - return true; - } - - public String toString() { - try { - StringWriter sw = new StringWriter(); - marshaller.marshal(this, sw); - return sw.toString(); - - } catch (Exception e) { - return super.toString(); - } - } - - public static CertificateData valueOf(String string) throws Exception { - try { - return (CertificateData)unmarshaller.unmarshal(new StringReader(string)); - } catch (Exception e) { - return null; - } - } - - public static void main(String args[]) throws Exception { - - StringWriter sw = new StringWriter(); - PrintWriter out = new PrintWriter(sw, true); - - out.println("-----BEGIN CERTIFICATE-----"); - out.println("MIIB/zCCAWgCCQCtpWH58pqsejANBgkqhkiG9w0BAQUFADBEMRQwEgYDVQQKDAtF"); - out.println("WEFNUExFLUNPTTEYMBYGCgmSJomT8ixkAQEMCHRlc3R1c2VyMRIwEAYDVQQDDAlU"); - out.println("ZXN0IFVzZXIwHhcNMTIwNTE0MTcxNzI3WhcNMTMwNTE0MTcxNzI3WjBEMRQwEgYD"); - out.println("VQQKDAtFWEFNUExFLUNPTTEYMBYGCgmSJomT8ixkAQEMCHRlc3R1c2VyMRIwEAYD"); - out.println("VQQDDAlUZXN0IFVzZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKmmiPJp"); - out.println("Agh/gPUAZjfgJ3a8QiHvpMzZ/hZy1FVP3+2sNhCkMv+D/I8Y7AsrbJGxxvD7bTDm"); - out.println("zQYtYx2ryGyOgY7KBRxEj/IrNVHIkJMYq5G/aIU4FAzpc6ntNSwUQBYUAamfK8U6"); - out.println("Wo4Cp6rLePXIDE6sfGn3VX6IeSJ8U2V+vwtzAgMBAAEwDQYJKoZIhvcNAQEFBQAD"); - out.println("gYEAY9bjcD/7Z+oX6gsJtX6Rd79E7X5IBdOdArYzHNE4vjdaQrZw6oCxrY8ffpKC"); - out.println("0T0q5PX9I7er+hx/sQjGPMrJDEN+vFBSNrZE7sTeLRgkyiqGvChSyuG05GtGzXO4"); - out.println("bFBr+Gwk2VF2wJvOhTXU2hN8sfkkd9clzIXuL8WCDhWk1bY="); - out.println("-----END CERTIFICATE-----"); - - CertificateData before = new CertificateData(); - before.setSerialNumber(new CertId("12512514865863765114")); - before.setIssuerDN("CN=Test User,UID=testuser,O=EXAMPLE-COM"); - before.setSubjectDN("CN=Test User,UID=testuser,O=EXAMPLE-COM"); - before.setEncoded(sw.toString()); - - String string = before.toString(); - System.out.println(string); - - CertificateData after = CertificateData.valueOf(string); - System.out.println(before.equals(after)); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/CMSErrorInterceptor.java b/base/common/src/com/netscape/cms/servlet/csadmin/CMSErrorInterceptor.java deleted file mode 100644 index 870422391..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/CMSErrorInterceptor.java +++ /dev/null @@ -1,62 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; - -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; - -import org.jboss.resteasy.client.ClientResponse; -import org.jboss.resteasy.client.core.ClientErrorInterceptor; - -import com.netscape.cms.servlet.base.CMSException; - -public class CMSErrorInterceptor implements ClientErrorInterceptor { - - public void handle(ClientResponse<?> response) { - - // handle HTTP code 4xx and 5xx - int code = response.getResponseStatus().getStatusCode(); - if (code < 400) - return; - - MultivaluedMap<String, String> headers = response.getHeaders(); - String contentType = headers.getFirst("Content-Type"); - - // handle XML content only - if (contentType == null || !contentType.startsWith(MediaType.APPLICATION_XML)) - return; - - CMSException exception; - - try { - // Requires RESTEasy 2.3.2 - // https://issues.jboss.org/browse/RESTEASY-652 - CMSException.Data data = response.getEntity(CMSException.Data.class); - - Class<?> clazz = Class.forName(data.className); - exception = (CMSException) clazz.getConstructor(CMSException.Data.class).newInstance(data); - - } catch (Exception e) { - e.printStackTrace(); - return; - } - - throw exception; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java b/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java deleted file mode 100644 index 9d7f2f9ac..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/CMSRestClient.java +++ /dev/null @@ -1,305 +0,0 @@ -package com.netscape.cms.servlet.csadmin; - -import java.io.File; -import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; - -import org.apache.commons.httpclient.ConnectTimeoutException; -import org.apache.http.Header; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpException; -import org.apache.http.HttpRequest; -import org.apache.http.HttpRequestInterceptor; -import org.apache.http.HttpResponse; -import org.apache.http.HttpResponseInterceptor; -import org.apache.http.ProtocolException; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.auth.params.AuthPNames; -import org.apache.http.client.methods.HttpUriRequest; -import org.apache.http.client.params.AuthPolicy; -import org.apache.http.client.params.HttpClientParams; -import org.apache.http.conn.scheme.LayeredSchemeSocketFactory; -import org.apache.http.conn.scheme.Scheme; -import org.apache.http.conn.scheme.SchemeSocketFactory; -import org.apache.http.impl.client.ClientParamsStack; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.impl.client.DefaultRedirectStrategy; -import org.apache.http.impl.client.EntityEnclosingRequestWrapper; -import org.apache.http.impl.client.RequestWrapper; -import org.apache.http.params.HttpParams; -import org.apache.http.protocol.HttpContext; -import org.jboss.resteasy.client.ClientExecutor; -import org.jboss.resteasy.client.ClientResponse; -import org.jboss.resteasy.client.ClientResponseFailure; -import org.jboss.resteasy.client.ProxyFactory; -import org.jboss.resteasy.client.core.BaseClientResponse; -import org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor; -import org.jboss.resteasy.client.core.extractors.ClientErrorHandler; -import org.jboss.resteasy.spi.ResteasyProviderFactory; -import org.mozilla.jss.CryptoManager; -import org.mozilla.jss.crypto.AlreadyInitializedException; -import org.mozilla.jss.ssl.SSLCertificateApprovalCallback; -import org.mozilla.jss.ssl.SSLSocket; - -import com.netscape.cms.client.cli.ClientConfig; - -public abstract class CMSRestClient { - - protected boolean verbose; - - protected ClientConfig config; - - protected ResteasyProviderFactory providerFactory; - protected ClientErrorHandler errorHandler; - protected ClientExecutor executor; - - public CMSRestClient(ClientConfig config) { - this.config = config; - - DefaultHttpClient httpClient = new DefaultHttpClient(); - - // Register https scheme. - Scheme scheme = new Scheme("https", 443, new JSSProtocolSocketFactory()); - httpClient.getConnectionManager().getSchemeRegistry().register(scheme); - - if (config.getUsername() != null && config.getPassword() != null) { - List<String> authPref = new ArrayList<String>(); - authPref.add(AuthPolicy.BASIC); - httpClient.getParams().setParameter(AuthPNames.PROXY_AUTH_PREF, authPref); - - httpClient.getCredentialsProvider().setCredentials( - AuthScope.ANY, - new UsernamePasswordCredentials(config.getUsername(), config.getPassword())); - } - - httpClient.addRequestInterceptor(new HttpRequestInterceptor() { - @Override - public void process(HttpRequest request, HttpContext context) throws HttpException, IOException { - if (verbose) { - System.out.println("HTTP request: "+request.getRequestLine()); - for (Header header : request.getAllHeaders()) { - System.out.println(" "+header.getName()+": "+header.getValue()); - } - } - - // Set the request parameter to follow redirections. - HttpParams params = request.getParams(); - if (params instanceof ClientParamsStack) { - ClientParamsStack paramsStack = (ClientParamsStack)request.getParams(); - params = paramsStack.getRequestParams(); - } - HttpClientParams.setRedirecting(params, true); - } - }); - - httpClient.addResponseInterceptor(new HttpResponseInterceptor() { - @Override - public void process(HttpResponse response, HttpContext context) throws HttpException, IOException { - if (verbose) { - System.out.println("HTTP response: "+response.getStatusLine()); - for (Header header : response.getAllHeaders()) { - System.out.println(" "+header.getName()+": "+header.getValue()); - } - } - } - }); - - httpClient.setRedirectStrategy(new DefaultRedirectStrategy() { - @Override - public HttpUriRequest getRedirect(HttpRequest request, HttpResponse response, HttpContext context) - throws ProtocolException { - - HttpUriRequest uriRequest = super.getRedirect(request, response, context); - - URI uri = uriRequest.getURI(); - if (verbose) System.out.println("HTTP redirect: "+uri); - - // Redirect the original request to the new URI. - RequestWrapper wrapper; - if (request instanceof HttpEntityEnclosingRequest) { - wrapper = new EntityEnclosingRequestWrapper((HttpEntityEnclosingRequest)request); - } else { - wrapper = new RequestWrapper(request); - } - wrapper.setURI(uri); - - return wrapper; - } - - @Override - public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) - throws ProtocolException { - - // The default redirection policy does not redirect POST or PUT. - // This overrides the policy to follow redirections for all HTTP methods. - return response.getStatusLine().getStatusCode() == 302; - } - }); - - executor = new ApacheHttpClient4Executor(httpClient); - providerFactory = ResteasyProviderFactory.getInstance(); - providerFactory.addClientErrorInterceptor(new CMSErrorInterceptor()); - errorHandler = new ClientErrorHandler(providerFactory.getClientErrorInterceptors()); - } - - private class ServerCertApprovalCB implements SSLCertificateApprovalCallback { - - // Callback to approve or deny returned SSL server cert. - // Right now, simply approve the cert. - public boolean approve(org.mozilla.jss.crypto.X509Certificate serverCert, - SSLCertificateApprovalCallback.ValidityStatus status) { - - if (verbose) System.out.println("Server certificate: "+serverCert.getSubjectDN()); - - SSLCertificateApprovalCallback.ValidityItem item; - - Enumeration<?> errors = status.getReasons(); - while (errors.hasMoreElements()) { - item = (SSLCertificateApprovalCallback.ValidityItem) errors.nextElement(); - int reason = item.getReason(); - - if (reason == SSLCertificateApprovalCallback.ValidityStatus.UNTRUSTED_ISSUER || - reason == SSLCertificateApprovalCallback.ValidityStatus.BAD_CERT_DOMAIN) { - - // Allow these two since we haven't installed the CA cert for trust. - - return true; - - } - } - - // For other errors return false. - - return false; - } - } - - private class JSSProtocolSocketFactory implements SchemeSocketFactory, LayeredSchemeSocketFactory { - - @Override - public Socket createSocket(HttpParams params) throws IOException { - return null; - } - - @Override - public Socket connectSocket(Socket sock, - InetSocketAddress remoteAddress, - InetSocketAddress localAddress, - HttpParams params) - throws IOException, - UnknownHostException, - ConnectTimeoutException { - - // Initialize JSS before using SSLSocket, - // otherwise it will throw UnsatisfiedLinkError. - if (config.getCertDatabase() == null) { - try { - // No database specified, use $HOME/.pki/nssdb. - File homeDir = new File(System.getProperty("user.home")); - File pkiDir = new File(homeDir, ".pki"); - File nssdbDir = new File(pkiDir, "nssdb"); - nssdbDir.mkdirs(); - - CryptoManager.initialize(nssdbDir.getAbsolutePath()); - - } catch (AlreadyInitializedException e) { - // ignore - - } catch (Exception e) { - throw new Error(e); - } - - } else { - // Database specified, already initialized by the main program. - } - - String hostName = null; - int port = 0; - if (remoteAddress != null) { - hostName = remoteAddress.getHostName(); - port = remoteAddress.getPort(); - } - - int localPort = 0; - InetAddress localAddr = null; - - if (localAddress != null) { - localPort = localAddress.getPort(); - localAddr = localAddress.getAddress(); - } - - SSLSocket socket; - if (sock == null) { - socket = new SSLSocket(InetAddress.getByName(hostName), - port, - localAddr, - localPort, - new ServerCertApprovalCB(), - null); - - } else { - socket = new SSLSocket(sock, hostName, new ServerCertApprovalCB(), null); - } - - String certNickname = config.getCertNickname(); - if (certNickname != null) { - if (verbose) System.out.println("Client certificate: "+certNickname); - socket.setClientCertNickname(certNickname); - } - - return socket; - } - - @Override - public boolean isSecure(Socket sock) { - // We only use this factory in the case of SSL Connections. - return true; - } - - @Override - public Socket createLayeredSocket(Socket socket, String target, int port, boolean autoClose) - throws IOException, UnknownHostException { - // This method implementation is required to get SSL working. - return null; - } - - } - - public <T> T createProxy(Class<T> clazz) throws URISyntaxException { - URI uri = new URI(config.getServerURI()+"/rest"); - return ProxyFactory.create(clazz, uri, executor, providerFactory); - } - - @SuppressWarnings("unchecked") - public <T> T getEntity(ClientResponse<T> response) { - BaseClientResponse<T> clientResponse = (BaseClientResponse<T>)response; - try { - clientResponse.checkFailureStatus(); - - } catch (ClientResponseFailure e) { - errorHandler.clientErrorHandling((BaseClientResponse<T>) e.getResponse(), e); - - } catch (RuntimeException e) { - errorHandler.clientErrorHandling(clientResponse, e); - } - - return response.getEntity(); - } - - public boolean isVerbose() { - return verbose; - } - - public void setVerbose(boolean verbose) { - this.verbose = verbose; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationErrorInterceptor.java b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationErrorInterceptor.java deleted file mode 100644 index 63af4101a..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationErrorInterceptor.java +++ /dev/null @@ -1,65 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; - -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; - -import org.jboss.resteasy.client.ClientResponse; -import org.jboss.resteasy.client.core.ClientErrorInterceptor; - -import com.netscape.cms.servlet.base.CMSException; - -/** - * @author alee - * - */ -public class ConfigurationErrorInterceptor implements ClientErrorInterceptor { - - public void handle(ClientResponse<?> response) { - - // handle HTTP code 4xx and 5xx - int code = response.getResponseStatus().getStatusCode(); - if (code < 400) return; - - MultivaluedMap<String, String> headers = response.getHeaders(); - String contentType = headers.getFirst("Content-Type"); - - // handle XML content only - System.out.println("Content-type: "+contentType); - if (!contentType.startsWith(MediaType.APPLICATION_XML)) return; - - CMSException exception; - - try { - // Requires RESTEasy 2.3.2 - // https://issues.jboss.org/browse/RESTEASY-652 - CMSException.Data data = response.getEntity(CMSException.Data.class); - - Class<?> clazz = Class.forName(data.className); - exception = (CMSException) clazz.getConstructor(CMSException.Data.class).newInstance(data); - - } catch (Exception e) { - e.printStackTrace(); - return; - } - - throw exception; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java deleted file mode 100644 index 7fe8af2f3..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationRESTClient.java +++ /dev/null @@ -1,50 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; - -import java.net.URISyntaxException; - -import com.netscape.cms.client.cli.ClientConfig; -import com.netscape.cms.servlet.csadmin.model.ConfigurationData; -import com.netscape.cms.servlet.csadmin.model.ConfigurationResponseData; -import com.netscape.cms.servlet.csadmin.model.InstallToken; -import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest; - - -/** - * @author alee - * - */ -public class ConfigurationRESTClient extends CMSRestClient { - - private SystemConfigurationResource configClient; - - public ConfigurationRESTClient(ClientConfig config) throws URISyntaxException { - super(config); - - configClient = createProxy(SystemConfigurationResource.class); - } - - public ConfigurationResponseData configure(ConfigurationData data) { - return configClient.configure(data); - } - - public InstallToken getInstallToken(InstallTokenRequest data) { - return configClient.getInstallToken(data); - } -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java index 50c7853df..4397251b5 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java @@ -140,12 +140,13 @@ import com.netscape.certsrv.dbs.crldb.ICRLIssuingPointRecord; import com.netscape.certsrv.ldap.ILdapConnFactory; import com.netscape.certsrv.ocsp.IDefStore; import com.netscape.certsrv.ocsp.IOCSPAuthority; +import com.netscape.certsrv.system.InstallToken; +import com.netscape.certsrv.system.InstallTokenRequest; import com.netscape.certsrv.usrgrp.IGroup; import com.netscape.certsrv.usrgrp.IUGSubsystem; import com.netscape.certsrv.usrgrp.IUser; -import com.netscape.cms.client.cli.ClientConfig; -import com.netscape.cms.servlet.csadmin.model.InstallToken; -import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest; +import com.netscape.cms.client.ClientConfig; +import com.netscape.cms.client.system.SystemConfigClient; import com.netscape.cmsutil.crypto.CryptoUtil; import com.netscape.cmsutil.http.HttpClient; import com.netscape.cmsutil.http.HttpRequest; @@ -299,7 +300,7 @@ public class ConfigurationUtils { ClientConfig config = new ClientConfig(); config.setServerURI("https://" + sdhost + ":" + sdport + "/ca"); - ConfigurationRESTClient client = new ConfigurationRESTClient(config); + SystemConfigClient client = new SystemConfigClient(config); InstallToken token = client.getInstallToken(data); diff --git a/base/common/src/com/netscape/cms/servlet/base/UnauthorizedException.java b/base/common/src/com/netscape/cms/servlet/csadmin/SystemCertDataFactory.java index 7dfa3d6d4..bd23c8f16 100644 --- a/base/common/src/com/netscape/cms/servlet/base/UnauthorizedException.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/SystemCertDataFactory.java @@ -16,28 +16,32 @@ // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.base; +package com.netscape.cms.servlet.csadmin; -import javax.ws.rs.core.Response; +import java.util.ArrayList; +import java.util.Collection; + +import com.netscape.certsrv.system.SystemCertData; /** - * @author Endi S. Dewata + * @author edewata */ -public class UnauthorizedException extends CMSException { - - private static final long serialVersionUID = -2025082875126996556L; - - public UnauthorizedException(String message) { - super(Response.Status.UNAUTHORIZED, message); +public class SystemCertDataFactory { + + public static SystemCertData create(Cert cert) { + SystemCertData data = new SystemCertData(); + data.setCert(cert.getCert()); + data.setRequest(cert.getRequest()); + data.setTag(cert.getCertTag()); + data.setCertChain(cert.getCertChain()); + return data; } - public UnauthorizedException(String message, Throwable cause) { - super(Response.Status.UNAUTHORIZED, message, cause); + public static Collection<SystemCertData> create(Collection<Cert> certs) { + Collection<SystemCertData> result = new ArrayList<SystemCertData>(); + for (Cert cert : certs) { + result.add(create(cert)); + } + return result; } - - public UnauthorizedException(Data data) { - super(data); - } - } - diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResourceService.java b/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigService.java index 9747eb12c..53b004846 100644 --- a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigService.java @@ -47,19 +47,20 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.EPropertyNotFound; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.base.ISecurityDomainSessionTable; +import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.ca.ICertificateAuthority; import com.netscape.certsrv.dbs.certdb.ICertificateRepository; import com.netscape.certsrv.ocsp.IOCSPAuthority; +import com.netscape.certsrv.system.ConfigurationRequest; +import com.netscape.certsrv.system.ConfigurationResponse; +import com.netscape.certsrv.system.DomainInfo; +import com.netscape.certsrv.system.InstallToken; +import com.netscape.certsrv.system.InstallTokenRequest; +import com.netscape.certsrv.system.SystemCertData; +import com.netscape.certsrv.system.SystemConfigResource; import com.netscape.certsrv.usrgrp.IUGSubsystem; import com.netscape.certsrv.usrgrp.IUser; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.csadmin.model.CertData; -import com.netscape.cms.servlet.csadmin.model.ConfigurationData; -import com.netscape.cms.servlet.csadmin.model.ConfigurationResponseData; -import com.netscape.cms.servlet.csadmin.model.DomainInfo; -import com.netscape.cms.servlet.csadmin.model.InstallToken; -import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest; +import com.netscape.cms.servlet.base.PKIService; import com.netscape.cmsutil.crypto.CryptoUtil; import com.netscape.cmsutil.util.Utils; @@ -67,7 +68,7 @@ import com.netscape.cmsutil.util.Utils; * @author alee * */ -public class SystemConfigurationResourceService extends CMSResourceService implements SystemConfigurationResource { +public class SystemConfigService extends PKIService implements SystemConfigResource { IConfigStore cs; String csType; String csState; @@ -79,7 +80,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple "restart_server_after_configuration"; private Random random = null; - public SystemConfigurationResourceService() throws EPropertyNotFound, EBaseException { + public SystemConfigService() throws EPropertyNotFound, EBaseException { cs = CMS.getConfigStore(); csType = cs.getString("cs.type"); csState = cs.getString("cs.state"); @@ -95,8 +96,8 @@ public class SystemConfigurationResourceService extends CMSResourceService imple * @see com.netscape.cms.servlet.csadmin.SystemConfigurationResource#configure(javax.ws.rs.core.MultivaluedMap) */ @Override - public ConfigurationResponseData configure(MultivaluedMap<String, String> form) { - ConfigurationData data = new ConfigurationData(form); + public ConfigurationResponse configure(MultivaluedMap<String, String> form) { + ConfigurationRequest data = new ConfigurationRequest(form); return configure(data); } @@ -104,9 +105,9 @@ public class SystemConfigurationResourceService extends CMSResourceService imple * @see com.netscape.cms.servlet.csadmin.SystemConfigurationResource#configure(com.netscape.cms.servlet.csadmin.data.ConfigurationData) */ @Override - public ConfigurationResponseData configure(ConfigurationData data){ + public ConfigurationResponse configure(ConfigurationRequest data){ if (csState.equals("1")) { - throw new CMSException(Response.Status.BAD_REQUEST, "System is already configured"); + throw new PKIException(Response.Status.BAD_REQUEST, "System is already configured"); } String certList; @@ -114,34 +115,34 @@ public class SystemConfigurationResourceService extends CMSResourceService imple certList = cs.getString("preop.cert.list"); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Unable to get certList from config file"); + throw new PKIException("Unable to get certList from config file"); } validateData(data); - ConfigurationResponseData response = new ConfigurationResponseData(); + ConfigurationResponse response = new ConfigurationResponse(); // specify module and log into token String token = data.getToken(); if (token == null) { - token = ConfigurationData.TOKEN_DEFAULT; + token = ConfigurationRequest.TOKEN_DEFAULT; } cs.putString("preop.module.token", token); - if (! token.equals(ConfigurationData.TOKEN_DEFAULT)) { + if (! token.equals(ConfigurationRequest.TOKEN_DEFAULT)) { try { CryptoManager cryptoManager = CryptoManager.getInstance(); CryptoToken ctoken = cryptoManager.getTokenByName(token); String tokenpwd = data.getTokenPassword(); ConfigurationUtils.loginToken(ctoken, tokenpwd); } catch (NotInitializedException e) { - throw new CMSException("Token is not initialized"); + throw new PKIException("Token is not initialized"); } catch (NoSuchTokenException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid Token provided. No such token."); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid Token provided. No such token."); } catch (TokenException e) { e.printStackTrace(); - throw new CMSException("Token Exception" + e); + throw new PKIException("Token Exception" + e); } catch (IncorrectPasswordException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Incorrect Password provided for token."); + throw new PKIException(Response.Status.BAD_REQUEST, "Incorrect Password provided for token."); } } @@ -150,7 +151,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple String securityDomainName = data.getSecurityDomainName(); String securityDomainURL = data.getSecurityDomainUri(); String domainXML = null; - if (securityDomainType.equals(ConfigurationData.NEW_DOMAIN)) { + if (securityDomainType.equals(ConfigurationRequest.NEW_DOMAIN)) { cs.putString("preop.securitydomain.select", "new"); cs.putString("securitydomain.select", "new"); cs.putString("preop.securitydomain.name", securityDomainName); @@ -181,7 +182,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.importCertChain(host, port, "/ca/admin/ca/getCertChain", "securitydomain"); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Failed to import certificate chain from security domain master: " + e); + throw new PKIException("Failed to import certificate chain from security domain master: " + e); } // log onto security domain and get token @@ -192,11 +193,11 @@ public class SystemConfigurationResourceService extends CMSResourceService imple installToken = ConfigurationUtils.getInstallToken(host, port, user, pass); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Failed to obtain installation token from security domain: " + e); + throw new PKIException("Failed to obtain installation token from security domain: " + e); } if (installToken == null) { - throw new CMSException("Failed to obtain installation token from security domain"); + throw new PKIException("Failed to obtain installation token from security domain"); } CMS.setConfigSDSessionId(installToken); @@ -205,7 +206,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.getSecurityDomainPorts(domainXML, host, port); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Failed to obtain security domain decriptor from security domain master: " + e); + throw new PKIException("Failed to obtain security domain decriptor from security domain master: " + e); } } @@ -245,11 +246,11 @@ public class SystemConfigurationResourceService extends CMSResourceService imple validCloneUri = ConfigurationUtils.isValidCloneURI(domainXML, masterHost, masterPort); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Error in determining whether clone URI is valid"); + throw new PKIException("Error in determining whether clone URI is valid"); } if (!validCloneUri) { - throw new CMSException(Response.Status.BAD_REQUEST, + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid clone URI provided. Does not match the available subsystems in the security domain"); } @@ -258,7 +259,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.importCertChain(masterHost, masterPort, "/ca/ee/ca/getCertChain", "clone"); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Failed to import certificate chain from master" + e); + throw new PKIException("Failed to import certificate chain from master" + e); } } @@ -266,25 +267,25 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.getConfigEntriesFromMaster(); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Failed to obtain configuration entries from the master for cloning " + e); + throw new PKIException("Failed to obtain configuration entries from the master for cloning " + e); } // restore certs from P12 file - if (token.equals(ConfigurationData.TOKEN_DEFAULT)) { + if (token.equals(ConfigurationRequest.TOKEN_DEFAULT)) { String p12File = data.getP12File(); String p12Pass = data.getP12Password(); try { ConfigurationUtils.restoreCertsFromP12(p12File, p12Pass); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Failed to restore certificates from p12 file" + e); + throw new PKIException("Failed to restore certificates from p12 file" + e); } } boolean cloneReady = ConfigurationUtils.isCertdbCloned(); if (!cloneReady) { CMS.debug("clone does not have all the certificates."); - throw new CMSException("Clone does not have all the required certificates"); + throw new PKIException("Clone does not have all the required certificates"); } } @@ -299,7 +300,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple cs.putString("preop.hierarchy.select", "join"); cs.putString("hierarchy.select", "Subordinate"); } else { - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid hierarchy provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid hierarchy provided"); } } @@ -316,7 +317,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple cs.commit(false); } catch (EBaseException e2) { e2.printStackTrace(); - throw new CMSException("Unable to commit config parameters to file"); + throw new PKIException("Unable to commit config parameters to file"); } if (data.getIsClone().equals("true")) { @@ -333,12 +334,12 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } if (masterhost.equals(realhostname) && masterport.equals(data.getDsPort())) { - throw new CMSException(Response.Status.BAD_REQUEST, + throw new PKIException(Response.Status.BAD_REQUEST, "Master and clone must not share the same internal database"); } if (!masterbasedn.equals(data.getBaseDN())) { - throw new CMSException(Response.Status.BAD_REQUEST, "Master and clone should have the same base DN"); + throw new PKIException(Response.Status.BAD_REQUEST, "Master and clone should have the same base DN"); } String masterReplicationPort = data.getMasterReplicationPort(); @@ -390,7 +391,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.reInitSubsystem(csType); } } catch (Exception e) { - throw new CMSException("Error in populating database" + e); + throw new PKIException("Error in populating database" + e); } // SizePanel, NamePanel, CertRequestPanel @@ -433,7 +434,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } } } catch (Exception e) { - throw new CMSException("Error in obtaining certificate chain from issuing CA: " + e); + throw new PKIException("Error in obtaining certificate chain from issuing CA: " + e); } boolean hasSigningCert = false; @@ -445,9 +446,9 @@ public class SystemConfigurationResourceService extends CMSResourceService imple boolean enable = cs.getBoolean("preop.cert." + ct + ".enable", true); if (!enable) continue; - Collection<CertData> certData = data.getSystemCerts(); - Iterator<CertData> iterator = certData.iterator(); - CertData cdata = null; + Collection<SystemCertData> certData = data.getSystemCerts(); + Iterator<SystemCertData> iterator = certData.iterator(); + SystemCertData cdata = null; while (iterator.hasNext()) { cdata = iterator.next(); if (cdata.getTag().equals(ct)) break; @@ -521,7 +522,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple if (cdata.getCertChain() != null) { certObj.setCertChain(cdata.getCertChain()); } else { - throw new CMSException(Response.Status.BAD_REQUEST, "CertChain not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "CertChain not provided"); } } } @@ -533,18 +534,18 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } catch (NumberFormatException e) { // move these validations to validate()? - throw new CMSException(Response.Status.BAD_REQUEST, "Non-integer value for key size"); + throw new PKIException(Response.Status.BAD_REQUEST, "Non-integer value for key size"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid algorithm " + e); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid algorithm " + e); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Error in setting certificate names and key sizes: " + e); + throw new PKIException("Error in setting certificate names and key sizes: " + e); } // submitting to external ca if ((data.getIssuingCA()!= null) && data.getIssuingCA().equals("External CA") && (!hasSigningCert)) { - response.setSystemCerts(certs); + response.setSystemCerts(SystemCertDataFactory.create(certs)); return response; } @@ -557,13 +558,13 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.setCertPermissions(cert.getCertTag()); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Error in confguring system certificates" + e); + throw new PKIException("Error in confguring system certificates" + e); } if (ret != 0) { - throw new CMSException("Error in confguring system certificates"); + throw new PKIException("Error in confguring system certificates"); } } - response.setSystemCerts(certs); + response.setSystemCerts(SystemCertDataFactory.create(certs)); // BackupKeyCertPanel/SavePKCS12Panel if (data.getBackupKeys().equals("true")) { @@ -571,7 +572,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.backupKeys(data.getBackupPassword(), data.getBackupFile()); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Error in creating pkcs12 to backup keys and certs: " + e); + throw new PKIException("Error in creating pkcs12 to backup keys and certs: " + e); } } @@ -617,14 +618,14 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Error in creating admin user: " + e); + throw new PKIException("Error in creating admin user: " + e); } } // Done Panel // Create or update security domain try { - if (securityDomainType.equals(ConfigurationData.NEW_DOMAIN)) { + if (securityDomainType.equals(ConfigurationRequest.NEW_DOMAIN)) { ConfigurationUtils.createSecurityDomain(); } else { ConfigurationUtils.updateSecurityDomain(); @@ -634,7 +635,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple cs.commit(false); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Error while updating security domain: " + e); + throw new PKIException("Error while updating security domain: " + e); } // need to push connector information to the CA @@ -653,7 +654,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Errors in pushing KRA connector information to the CA: " + e); + throw new PKIException("Errors in pushing KRA connector information to the CA: " + e); } // import the CA certificate into the OCSP @@ -667,7 +668,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Errors in configuring CA publishing to OCSP: " + e); + throw new PKIException("Errors in configuring CA publishing to OCSP: " + e); } if (!data.getIsClone().equals("true")) { @@ -677,7 +678,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Errors in updating next serial number ranges in DB: " + e); + throw new PKIException("Errors in updating next serial number ranges in DB: " + e); } } @@ -695,12 +696,12 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } } catch (Exception e1) { e1.printStackTrace(); - throw new CMSException("Errors in determining if security domain host is a master CA"); + throw new PKIException("Errors in determining if security domain host is a master CA"); } try { String dbuser = csType + "-" + CMS.getEEHost() + "-" + CMS.getEESSLPort(); - if (! securityDomainType.equals(ConfigurationData.NEW_DOMAIN)) { + if (! securityDomainType.equals(ConfigurationRequest.NEW_DOMAIN)) { ConfigurationUtils.setupDBUser(dbuser); } IUGSubsystem system = (IUGSubsystem) (CMS.getSubsystem(IUGSubsystem.ID)); @@ -708,7 +709,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple system.addCertSubjectDN(user); } catch (Exception e) { e.printStackTrace(); - throw new CMSException("Errors in creating or updating dbuser: " + e); + throw new PKIException("Errors in creating or updating dbuser: " + e); } cs.putInteger("cs.state", 1); @@ -720,7 +721,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple ConfigurationUtils.removePreopConfigEntries(); } catch (EBaseException e) { e.printStackTrace(); - throw new CMSException("Errors when removing preop config entries: " + e); + throw new PKIException("Errors when removing preop config entries: " + e); } // Create an empty file that designates the fact that although @@ -734,7 +735,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple return response; } - private void validateData(ConfigurationData data) { + private void validateData(ConfigurationRequest data) { // get required info from CS.cfg String preopPin; try { @@ -742,35 +743,35 @@ public class SystemConfigurationResourceService extends CMSResourceService imple } catch (Exception e) { CMS.debug("validateData: Failed to get required config form CS.cfg"); e.printStackTrace(); - throw new CMSException("Unable to retrieve required configuration from configuration files"); + throw new PKIException("Unable to retrieve required configuration from configuration files"); } // get the preop pin and validate it String pin = data.getPin(); if (pin == null) { - throw new CMSException(Response.Status.BAD_REQUEST, "No preop pin provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "No preop pin provided"); } if (!preopPin.equals(pin)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Incorrect pin provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Incorrect pin provided"); } // validate security domain settings String domainType = data.getSecurityDomainType(); if (domainType == null) { - throw new CMSException(Response.Status.BAD_REQUEST, "Security Domain Type not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Security Domain Type not provided"); } - if (domainType.equals(ConfigurationData.NEW_DOMAIN)) { + if (domainType.equals(ConfigurationRequest.NEW_DOMAIN)) { if (!csType.equals("CA")) { - throw new CMSException(Response.Status.BAD_REQUEST, "New Domain is only valid for CA subsytems"); + throw new PKIException(Response.Status.BAD_REQUEST, "New Domain is only valid for CA subsytems"); } if (data.getSecurityDomainName() == null) { - throw new CMSException(Response.Status.BAD_REQUEST, "Security Domain Name is not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Security Domain Name is not provided"); } - } else if (domainType.equals(ConfigurationData.EXISTING_DOMAIN)) { + } else if (domainType.equals(ConfigurationRequest.EXISTING_DOMAIN)) { String domainURI = data.getSecurityDomainUri(); if (domainURI == null) { - throw new CMSException(Response.Status.BAD_REQUEST, + throw new PKIException(Response.Status.BAD_REQUEST, "Existing security domain requested, but no security domain URI provided"); } @@ -778,40 +779,40 @@ public class SystemConfigurationResourceService extends CMSResourceService imple @SuppressWarnings("unused") URL admin_u = new URL(domainURI); // check for invalid URL } catch (MalformedURLException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid security domain URI"); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid security domain URI"); } if ((data.getSecurityDomainUser() == null) || (data.getSecurityDomainPassword() == null)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Security domain user or password not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Security domain user or password not provided"); } } else { - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid security domain URI provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid security domain URI provided"); } if ((data.getSubsystemName() == null) || (data.getSubsystemName().length() ==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid or no subsystem name provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid or no subsystem name provided"); } if ((data.getIsClone() != null) && (data.getIsClone().equals("true"))) { String cloneUri = data.getCloneUri(); if (cloneUri == null) { - throw new CMSException(Response.Status.BAD_REQUEST, "Clone selected, but no clone URI provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Clone selected, but no clone URI provided"); } try { @SuppressWarnings("unused") URL url = new URL(cloneUri); // check for invalid URL // confirm protocol is https } catch (MalformedURLException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid clone URI"); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid clone URI"); } - if (data.getToken().equals(ConfigurationData.TOKEN_DEFAULT)) { + if (data.getToken().equals(ConfigurationRequest.TOKEN_DEFAULT)) { if (data.getP12File() == null) { - throw new CMSException(Response.Status.BAD_REQUEST, "P12 filename not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "P12 filename not provided"); } if (data.getP12Password() == null) { - throw new CMSException(Response.Status.BAD_REQUEST, "P12 password not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "P12 password not provided"); } } } else { @@ -820,33 +821,33 @@ public class SystemConfigurationResourceService extends CMSResourceService imple String dsHost = data.getDsHost(); if (dsHost == null || dsHost.length() == 0) { - throw new CMSException(Response.Status.BAD_REQUEST, "Internal database host not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Internal database host not provided"); } try { Integer.parseInt(data.getDsPort()); // check for errors } catch (NumberFormatException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Internal database port is invalid"); + throw new PKIException(Response.Status.BAD_REQUEST, "Internal database port is invalid"); } String basedn = data.getBaseDN(); if (basedn == null || basedn.length() == 0) { - throw new CMSException(Response.Status.BAD_REQUEST, "Internal database basedn not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Internal database basedn not provided"); } String binddn = data.getBindDN(); if (binddn == null || binddn.length() == 0) { - throw new CMSException(Response.Status.BAD_REQUEST, "Internal database basedn not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Internal database basedn not provided"); } String database = data.getDatabase(); if (database == null || database.length() == 0) { - throw new CMSException(Response.Status.BAD_REQUEST, "Internal database database name not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Internal database database name not provided"); } String bindpwd = data.getBindpwd(); if (bindpwd == null || bindpwd.length() == 0) { - throw new CMSException(Response.Status.BAD_REQUEST, "Internal database database name not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Internal database database name not provided"); } String masterReplicationPort = data.getMasterReplicationPort(); @@ -854,7 +855,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple try { Integer.parseInt(masterReplicationPort); // check for errors } catch (NumberFormatException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Master replication port is invalid"); + throw new PKIException(Response.Status.BAD_REQUEST, "Master replication port is invalid"); } } @@ -863,48 +864,48 @@ public class SystemConfigurationResourceService extends CMSResourceService imple try { Integer.parseInt(cloneReplicationPort); // check for errors } catch (Exception e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Clone replication port is invalid"); + throw new PKIException(Response.Status.BAD_REQUEST, "Clone replication port is invalid"); } } if ((data.getBackupKeys() != null) && data.getBackupKeys().equals("true")) { if ((data.getBackupFile() == null) || (data.getBackupFile().length()<=0)) { //TODO: also check for valid path, perhaps by touching file there - throw new CMSException(Response.Status.BAD_REQUEST, "Invalid key backup file name"); + throw new PKIException(Response.Status.BAD_REQUEST, "Invalid key backup file name"); } if ((data.getBackupPassword() == null) || (data.getBackupPassword().length()<8)) { - throw new CMSException(Response.Status.BAD_REQUEST, "key backup password must be at least 8 characters"); + throw new PKIException(Response.Status.BAD_REQUEST, "key backup password must be at least 8 characters"); } } else { data.setBackupKeys("false"); } if (csType.equals("CA") && (data.getHierarchy() == null)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Hierarchy is requred for CA, not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Hierarchy is requred for CA, not provided"); } if (data.getIsClone().equals("false")) { if ((data.getAdminUID() == null) || (data.getAdminUID().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin UID not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin UID not provided"); } if ((data.getAdminPassword() == null) || (data.getAdminPassword().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin Password not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin Password not provided"); } if ((data.getAdminEmail() == null) || (data.getAdminEmail().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin UID not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin UID not provided"); } if ((data.getAdminName() == null) || (data.getAdminName().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin name not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin name not provided"); } if ((data.getAdminCertRequest() == null) || (data.getAdminCertRequest().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin cert request not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin cert request not provided"); } if ((data.getAdminCertRequestType() == null) || (data.getAdminCertRequestType().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin cert request type not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin cert request type not provided"); } if ((data.getAdminSubjectDN() == null) || (data.getAdminSubjectDN().length()==0)) { - throw new CMSException(Response.Status.BAD_REQUEST, "Admin subjectDN not provided"); + throw new PKIException(Response.Status.BAD_REQUEST, "Admin subjectDN not provided"); } } @@ -928,7 +929,7 @@ public class SystemConfigurationResourceService extends CMSResourceService imple try { ip = InetAddress.getByName(host).toString(); } catch (UnknownHostException e) { - throw new CMSException(Response.Status.BAD_REQUEST, "Unable to resolve host " + host + + throw new PKIException(Response.Status.BAD_REQUEST, "Unable to resolve host " + host + "to an IP address: " + e); } int index = ip.indexOf("/"); diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java b/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java deleted file mode 100644 index 2918842c9..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java +++ /dev/null @@ -1,63 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; - -import com.netscape.cms.servlet.csadmin.model.ConfigurationData; -import com.netscape.cms.servlet.csadmin.model.ConfigurationResponseData; -import com.netscape.cms.servlet.csadmin.model.DomainInfo; -import com.netscape.cms.servlet.csadmin.model.InstallToken; -import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest; - -/** - * @author alee - */ -@Path("installer") -public interface SystemConfigurationResource { - - @POST - @Path("configure") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) - public ConfigurationResponseData configure(MultivaluedMap<String, String> form); - - @POST - @Path("configure") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public ConfigurationResponseData configure(ConfigurationData data); - - @POST - @Path("installToken") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public InstallToken getInstallToken(InstallTokenRequest data); - - @GET - @Path("domainInfo") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public DomainInfo getDomainInfo(); -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/CertData.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/CertData.java deleted file mode 100644 index d9e5e8005..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/CertData.java +++ /dev/null @@ -1,270 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -package com.netscape.cms.servlet.csadmin.model; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="CertData") -@XmlAccessorType(XmlAccessType.FIELD) -public class CertData { - public static final String TAG = "tag"; - public static final String NICKNAME = "nickname"; - public static final String TOKEN = "token"; - public static final String KEY_TYPE = "keyType"; - public static final String KEY_ALGORITHM = "keyAlgorithm"; - public static final String SIGNING_ALGORITHM = "signingAlgorithm"; - public static final String KEY_SIZE = "keySize"; - public static final String KEY_CURVENAME = "keyCurveName"; - public static final String REQUEST = "request"; - public static final String SUBJECT_DN = "subjectDN"; - public static final String CERT = "cert"; - public static final String CERT_CHAIN = "certChain"; - - @XmlElement - protected String tag; - - @XmlElement - protected String nickname; - - @XmlElement - protected String token; - - @XmlElement - protected String keyType; - - @XmlElement - protected String keyAlgorithm; - - @XmlElement - protected String signingAlgorithm; - - @XmlElement - protected String keySize; - - @XmlElement - protected String keyCurveName; - - @XmlElement - protected String request; - - @XmlElement - protected String subjectDN; - - @XmlElement - protected String cert; - - @XmlElement - protected String certChain; - - public CertData() { - // required for JAXB - } - - public CertData(MultivaluedMap<String, String> form) { - tag = form.getFirst(TAG); - nickname = form.getFirst(NICKNAME); - token = form.getFirst(TOKEN); - keyType = form.getFirst(KEY_TYPE); - keyAlgorithm = form.getFirst(KEY_ALGORITHM); - signingAlgorithm = form.getFirst(SIGNING_ALGORITHM); - keySize = form.getFirst(KEY_SIZE); - keyCurveName = form.getFirst(KEY_CURVENAME); - request = form.getFirst(REQUEST); - subjectDN = form.getFirst(SUBJECT_DN); - cert = form.getFirst(CERT); - certChain = form.getFirst(CERT_CHAIN); - } - - /** - * @return the tag - */ - public String getTag() { - return tag; - } - - /** - * @param tag the tag to set - */ - public void setTag(String tag) { - this.tag = tag; - } - - /** - * @return the nickname - */ - public String getNickname() { - return nickname; - } - - /** - * @param nickname the nickname to set - */ - public void setNickname(String nickname) { - this.nickname = nickname; - } - - /** - * @return the token - */ - public String getToken() { - return token; - } - - /** - * @param token the token to set - */ - public void setToken(String token) { - this.token = token; - } - - /** - * @return the keyType - */ - public String getKeyType() { - return keyType; - } - - /** - * @param keyType the keyType to set - */ - public void setKeyType(String keyType) { - this.keyType = keyType; - } - - /** - * @return the keyAlgorithm - */ - public String getKeyAlgorithm() { - return keyAlgorithm; - } - - /** - * @param keyAlgorithm the keyAlgorithm to set - */ - public void setKeyAlgorithm(String keyAlgorithm) { - this.keyAlgorithm = keyAlgorithm; - } - - /** - * @return the signingAlgorithm - */ - public String getSigningAlgorithm() { - return signingAlgorithm; - } - - /** - * @param signingAlgorithm the signingAlgorithm to set - */ - public void setSigningAlgorithm(String signingAlgorithm) { - this.signingAlgorithm = signingAlgorithm; - } - - /** - * @return the keySize - */ - public String getKeySize() { - return keySize; - } - - /** - * @param keySize the keySize to set - */ - public void setKeySize(String keySize) { - this.keySize = keySize; - } - - /** - * @return the keyCurveName - */ - public String getKeyCurveName() { - return keyCurveName; - } - - /** - * @param keyCurveName the keyCurveName to set - */ - public void setKeyCurveName(String keyCurveName) { - this.keyCurveName = keyCurveName; - } - - /** - * @return the request - */ - public String getRequest() { - return request; - } - - /** - * @param request the request to set - */ - public void setRequest(String request) { - this.request = request; - } - - /** - * @return the subjectDN - */ - public String getSubjectDN() { - return subjectDN; - } - - /** - * @param subjectDN the subjectDN to set - */ - public void setSubjectDN(String subjectDN) { - this.subjectDN = subjectDN; - } - - /** - * @return the cert - */ - public String getCert() { - return cert; - } - - /** - * @param cert the cert to set - */ - public void setCert(String cert) { - this.cert = cert; - } - - /** - * @return the certChain - */ - public String getCertChain() { - return certChain; - } - - /** - * @param certChain the certChain to set - */ - public void setCertChain(String certChain) { - this.certChain = certChain; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/ConfigurationData.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/ConfigurationData.java deleted file mode 100644 index 3c1bea86b..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/ConfigurationData.java +++ /dev/null @@ -1,724 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin.model; - -import java.util.Collection; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="ConfigurationData") -@XmlAccessorType(XmlAccessType.FIELD) -public class ConfigurationData { - private static final String PIN = "pin"; - private static final String TOKEN = "token"; - private static final String TOKEN_PASSWORD = "tokenPassword"; - private static final String SECURITY_DOMAIN_TYPE = "securityDomainType"; - private static final String SECURITY_DOMAIN_URI = "securityDomainUri"; - private static final String SECURITY_DOMAIN_NAME = "securityDomainName"; - private static final String SECURITY_DOMAIN_USER = "securityDomainUser"; - private static final String SECURITY_DOMAIN_PASSWORD = "securityDomainPassword"; - private static final String IS_CLONE = "isClone"; - private static final String CLONE_URI = "cloneUri"; - private static final String SUBSYSTEM_NAME = "subsystemName"; - private static final String P12_FILE = "p12File"; - private static final String P12_PASSWORD = "p12Password"; - private static final String HIERARCHY = "hierarchy"; - private static final String DSHOST = "dsHost"; - private static final String DSPORT = "dsPort"; - private static final String BASEDN = "basedn"; - private static final String BINDDN = "binddn"; - private static final String DATABASE = "database"; - private static final String SECURECONN = "secureConn"; - private static final String REMOVEDATA = "removeData"; - private static final String MASTER_REPLICATION_PORT = "masterReplicationPort"; - private static final String CLONE_REPLICATION_PORT = "cloneReplicationPort"; - private static final String REPLICATION_SECURITY = "replicationSecurity"; - private static final String ISSUING_CA = "issuingCa"; - private static final String BACKUP_KEYS = "backupKeys"; - private static final String BACKUP_FILE = "backupFile"; - private static final String BACKUP_PASSWORD = "backupPassword"; - private static final String ADMIN_UID = "adminUid"; - private static final String ADMIN_EMAIL = "adminEmail"; - private static final String ADMIN_PASSWORD = "adminPassword"; - private static final String ADMIN_CERT_REQUEST = "adminCertRequest"; - private static final String ADMIN_CERT_REQUEST_TYPE = "adminCertRequestType"; - private static final String ADMIN_SUBJECT_DN = "adminSubjectDN"; - private static final String ADMIN_NAME = "adminName"; - private static final String ADMIN_PROFILE_ID = "adminProfileID"; - private static final String STEP_TWO = "stepTwo"; - - //defaults - public static final String TOKEN_DEFAULT = "Internal Key Storage Token"; - public static final String NEW_DOMAIN = "newdomain"; - public static final String EXISTING_DOMAIN = "existingdomain"; - - @XmlElement - protected String pin; - - @XmlElement(defaultValue=TOKEN_DEFAULT) - protected String token; - - @XmlElement - protected String tokenPassword; - - @XmlElement - protected String securityDomainType; - - @XmlElement - protected String securityDomainUri; - - @XmlElement - protected String securityDomainName; - - @XmlElement - protected String securityDomainUser; - - @XmlElement - protected String securityDomainPassword; - - @XmlElement(defaultValue="false") - protected String isClone; - - @XmlElement - protected String cloneUri; - - @XmlElement - protected String subsystemName; - - @XmlElement - protected String p12File; - - @XmlElement - protected String p12Password; - - @XmlElement - protected String hierarchy; - - @XmlElement - protected String dsHost; - - @XmlElement - protected String dsPort; - - @XmlElement - protected String baseDN; - - @XmlElement - protected String bindDN; - - @XmlElement - protected String bindpwd; - - @XmlElement - protected String database; - - @XmlElement(defaultValue = "off") - protected String secureConn; - - @XmlElement - protected String removeData; - - @XmlElement - protected String masterReplicationPort; - - @XmlElement - protected String cloneReplicationPort; - - @XmlElement - protected String replicationSecurity; - - @XmlElementRef - protected Collection<CertData> systemCerts; - - @XmlElement - protected String issuingCA; - - @XmlElement - protected String backupKeys; - - @XmlElement - protected String backupPassword; - - @XmlElement - protected String backupFile; - - @XmlElement - protected String adminUID; - - @XmlElement - protected String adminPassword; - - @XmlElement - protected String adminEmail; - - @XmlElement - protected String adminCertRequest; - - @XmlElement - protected String adminCertRequestType; - - @XmlElement - protected String adminSubjectDN; - - @XmlElement - protected String adminName; - - @XmlElement - protected String adminProfileID; - - @XmlElement - protected String stepTwo; - - public ConfigurationData() { - // required for JAXB - } - - public ConfigurationData(MultivaluedMap<String, String> form) { - pin = form.getFirst(PIN); - token = form.getFirst(TOKEN); - tokenPassword = form.getFirst(TOKEN_PASSWORD); - securityDomainType = form.getFirst(SECURITY_DOMAIN_TYPE); - securityDomainUri = form.getFirst(SECURITY_DOMAIN_URI); - securityDomainName = form.getFirst(SECURITY_DOMAIN_NAME); - securityDomainUser = form.getFirst(SECURITY_DOMAIN_USER); - securityDomainPassword = form.getFirst(SECURITY_DOMAIN_PASSWORD); - isClone = form.getFirst(IS_CLONE); - cloneUri = form.getFirst(CLONE_URI); - subsystemName = form.getFirst(SUBSYSTEM_NAME); - p12File = form.getFirst(P12_FILE); - p12Password = form.getFirst(P12_PASSWORD); - hierarchy = form.getFirst(HIERARCHY); - dsHost = form.getFirst(DSHOST); - dsPort = form.getFirst(DSPORT); - baseDN = form.getFirst(BASEDN); - bindDN = form.getFirst(BINDDN); - database = form.getFirst(DATABASE); - secureConn = form.getFirst(SECURECONN); - removeData = form.getFirst(REMOVEDATA); - masterReplicationPort = form.getFirst(MASTER_REPLICATION_PORT); - cloneReplicationPort = form.getFirst(CLONE_REPLICATION_PORT); - replicationSecurity = form.getFirst(REPLICATION_SECURITY); - //TODO - figure out how to get the cert requests - issuingCA = form.getFirst(ISSUING_CA); - backupFile = form.getFirst(BACKUP_FILE); - backupPassword = form.getFirst(BACKUP_PASSWORD); - backupKeys = form.getFirst(BACKUP_KEYS); - adminUID = form.getFirst(ADMIN_UID); - adminEmail = form.getFirst(ADMIN_EMAIL); - adminPassword = form.getFirst(ADMIN_PASSWORD); - adminCertRequest = form.getFirst(ADMIN_CERT_REQUEST); - adminCertRequestType = form.getFirst(ADMIN_CERT_REQUEST_TYPE); - adminSubjectDN = form.getFirst(ADMIN_SUBJECT_DN); - adminName = form.getFirst(ADMIN_NAME); - adminProfileID = form.getFirst(ADMIN_PROFILE_ID); - stepTwo = form.getFirst(STEP_TWO); - } - - - public String getSubsystemName() { - return subsystemName; - } - - public void setSubsystemName(String subsystemName) { - this.subsystemName = subsystemName; - } - - public String getPin() { - return pin; - } - - public void setPin(String pin) { - this.pin = pin; - } - - public String getToken() { - return token; - } - - public void setToken(String token) { - this.token = token; - } - - public String getSecurityDomainType() { - return securityDomainType; - } - - public void setSecurityDomainType(String securityDomainType) { - this.securityDomainType = securityDomainType; - } - - public String getSecurityDomainUri() { - return securityDomainUri; - } - - public void setSecurityDomainUri(String securityDomainUri) { - this.securityDomainUri = securityDomainUri; - } - - public String getSecurityDomainName() { - return securityDomainName; - } - - public void setSecurityDomainName(String securityDomainName) { - this.securityDomainName = securityDomainName; - } - - public String getSecurityDomainUser() { - return securityDomainUser; - } - - public void setSecurityDomainUser(String securityDomainUser) { - this.securityDomainUser = securityDomainUser; - } - - public String getSecurityDomainPassword() { - return securityDomainPassword; - } - - public void setSecurityDomainPassword(String securityDomainPassword) { - this.securityDomainPassword = securityDomainPassword; - } - - public String getIsClone() { - return isClone; - } - - public void setIsClone(String isClone) { - this.isClone = isClone; - } - - public String getCloneUri() { - return cloneUri; - } - - public void setCloneUri(String cloneUri) { - this.cloneUri = cloneUri; - } - - /** - * @return the p12File - */ - public String getP12File() { - return p12File; - } - - /** - * @param p12File the p12File to set - */ - public void setP12File(String p12File) { - this.p12File = p12File; - } - - /** - * @return the p12Password - */ - public String getP12Password() { - return p12Password; - } - - /** - * @param p12Password the p12Password to set - */ - public void setP12Password(String p12Password) { - this.p12Password = p12Password; - } - - /** - * @return the tokenPassword - */ - public String getTokenPassword() { - return tokenPassword; - } - - /** - * @param tokenPassword the tokenPassword to set - */ - public void setTokenPassword(String tokenPassword) { - this.tokenPassword = tokenPassword; - } - - /** - * @return the hierarchy - */ - public String getHierarchy() { - return hierarchy; - } - - /** - * @param hierarchy the hierarchy to set - */ - public void setHierarchy(String hierarchy) { - this.hierarchy = hierarchy; - } - - /** - * @return the dsHost - */ - public String getDsHost() { - return dsHost; - } - - /** - * @param dsHost the dsHost to set - */ - public void setDsHost(String dsHost) { - this.dsHost = dsHost; - } - - /** - * @return the dsPort - */ - public String getDsPort() { - return dsPort; - } - - /** - * @param dsPort the dsPort to set - */ - public void setDsPort(String dsPort) { - this.dsPort = dsPort; - } - - /** - * @return the baseDN - */ - public String getBaseDN() { - return baseDN; - } - - /** - * @param baseDN the baseDN to set - */ - public void setBaseDN(String baseDN) { - this.baseDN = baseDN; - } - - /** - * @return the bindDN - */ - public String getBindDN() { - return bindDN; - } - - /** - * @param bindDN the bindDN to set - */ - public void setBindDN(String bindDN) { - this.bindDN = bindDN; - } - - /** - * @return the bindpwd - */ - public String getBindpwd() { - return bindpwd; - } - - /** - * @param bindpwd the bindpwd to set - */ - public void setBindpwd(String bindpwd) { - this.bindpwd = bindpwd; - } - - /** - * @return the secureConn - */ - public String getSecureConn() { - return secureConn; - } - - /** - * @param secureConn the secureConn to set - */ - public void setSecureConn(String secureConn) { - this.secureConn = secureConn; - } - - /** - * @return the removeData - */ - public String getRemoveData() { - return removeData; - } - - /** - * @param removeData the removeData to set - */ - public void setRemoveData(String removeData) { - this.removeData = removeData; - } - - /** - * @return the masterReplicationPort - */ - public String getMasterReplicationPort() { - return masterReplicationPort; - } - - /** - * @param masterReplicationPort the masterReplicationPort to set - */ - public void setMasterReplicationPort(String masterReplicationPort) { - this.masterReplicationPort = masterReplicationPort; - } - - /** - * @return the cloneReplicationPort - */ - public String getCloneReplicationPort() { - return cloneReplicationPort; - } - - /** - * @param cloneReplicationPort the cloneReplicationPort to set - */ - public void setCloneReplicationPort(String cloneReplicationPort) { - this.cloneReplicationPort = cloneReplicationPort; - } - - /** - * @return the replicationSecurity - */ - public String getReplicationSecurity() { - return replicationSecurity; - } - - /** - * @param replicationSecurity the replicationSecurity to set - */ - public void setReplicationSecurity(String replicationSecurity) { - this.replicationSecurity = replicationSecurity; - } - - /** - * @return the database - */ - public String getDatabase() { - return database; - } - - /** - * @param database the database to set - */ - public void setDatabase(String database) { - this.database = database; - } - - /** - * - * @return systemCerts - */ - public Collection<CertData> getSystemCerts() { - return systemCerts; - } - - /** - * - * @param systemCerts - */ - public void setSystemCerts(Collection<CertData> systemCerts) { - this.systemCerts = systemCerts; - } - - /** - * @return the issuingCA - */ - public String getIssuingCA() { - return issuingCA; - } - - /** - * @param issuingCA the issuingCA to set - */ - public void setIssuingCA(String issuingCA) { - this.issuingCA = issuingCA; - } - - /** - * @return the backupKeys - */ - public String getBackupKeys() { - return backupKeys; - } - - /** - * @param backupKeys the backupKeys to set - */ - public void setBackupKeys(String backupKeys) { - this.backupKeys = backupKeys; - } - - /** - * @return the backupFile - */ - public String getBackupFile() { - return backupFile; - } - - /** - * @param backupFile the backupFile to set - */ - public void setBackupFile(String backupFile) { - this.backupFile = backupFile; - } - - /** - * @return the backupPassword - */ - public String getBackupPassword() { - return backupPassword; - } - - /** - * @param backupPassword the backupPassword to set - */ - public void setBackupPassword(String backupPassword) { - this.backupPassword = backupPassword; - } - - /** - * @return the adminUID - */ - public String getAdminUID() { - return adminUID; - } - - /** - * @param adminUID the adminUID to set - */ - public void setAdminUID(String adminUID) { - this.adminUID = adminUID; - } - - /** - * @return the adminPassword - */ - public String getAdminPassword() { - return adminPassword; - } - - /** - * @param adminPassword the adminPassword to set - */ - public void setAdminPassword(String adminPassword) { - this.adminPassword = adminPassword; - } - - /** - * @return the adminEmail - */ - public String getAdminEmail() { - return adminEmail; - } - - /** - * @param adminEmail the adminEmail to set - */ - public void setAdminEmail(String adminEmail) { - this.adminEmail = adminEmail; - } - - /** - * @return the adminCertRequest - */ - public String getAdminCertRequest() { - return adminCertRequest; - } - - /** - * @param adminCertRequest the adminCertRequest to set - */ - public void setAdminCertRequest(String adminCertRequest) { - this.adminCertRequest = adminCertRequest; - } - - /** - * @return the adminCertRequestType - */ - public String getAdminCertRequestType() { - return adminCertRequestType; - } - - /** - * @param adminCertRequestType the adminCertRequestType to set - */ - public void setAdminCertRequestType(String adminCertRequestType) { - this.adminCertRequestType = adminCertRequestType; - } - - /** - * @return the adminSubjectDN - */ - public String getAdminSubjectDN() { - return adminSubjectDN; - } - - /** - * @param adminSubjectDN the adminSubjectDN to set - */ - public void setAdminSubjectDN(String adminSubjectDN) { - this.adminSubjectDN = adminSubjectDN; - } - - /** - * @return the adminName - */ - public String getAdminName() { - return adminName; - } - - /** - * @param adminName the adminName to set - */ - public void setAdminName(String adminName) { - this.adminName = adminName; - } - - /** - * @return the adminProfileID - */ - public String getAdminProfileID() { - return adminProfileID; - } - - /** - * @param adminProfileID the adminProfileID to set - */ - public void setAdminProfileID(String adminProfileID) { - this.adminProfileID = adminProfileID; - } - - public String getStepTwo() { - return stepTwo; - } - - public void setStepTwo(String stepTwo) { - this.stepTwo = stepTwo; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/ConfigurationResponseData.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/ConfigurationResponseData.java deleted file mode 100644 index d1656fdda..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/ConfigurationResponseData.java +++ /dev/null @@ -1,120 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin.model; - -import java.security.cert.CertificateEncodingException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Vector; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; - -import netscape.security.x509.X509CertImpl; - -import com.netscape.certsrv.apps.CMS; -import com.netscape.cms.servlet.csadmin.Cert; - -/** - * @author alee - * - */ -@XmlRootElement(name="ConfigurationResponseData") -@XmlAccessorType(XmlAccessType.FIELD) -public class ConfigurationResponseData { - - @XmlElementRef - protected Collection<CertData> systemCerts; - - @XmlElement - protected CertData adminCert; - - @XmlElement - protected String status; - - public ConfigurationResponseData() { - systemCerts = new ArrayList<CertData>(); - adminCert = new CertData(); - } - - public void setSystemCerts(Vector<Cert> certs) { - systemCerts.clear(); - Enumeration<Cert> e = certs.elements(); - while (e.hasMoreElements()) { - Cert cert = e.nextElement(); - CertData cdata = new CertData(); - cdata.setCert(cert.getCert()); - cdata.setRequest(cert.getRequest()); - cdata.setTag(cert.getCertTag()); - cdata.setCertChain(cert.getCertChain()); - systemCerts.add(cdata); - } - } - - /** - * @return the systemCerts - */ - public Collection<CertData> getSystemCerts() { - return systemCerts; - } - - /** - * @param systemCerts the systemCerts to set - */ - public void setSystemCerts(Collection<CertData> systemCerts) { - this.systemCerts = systemCerts; - } - - /** - * @return the adminCert - */ - public CertData getAdminCert() { - return adminCert; - } - - /** - * @param adminCert the adminCert to set - */ - public void setAdminCert(CertData adminCert) { - this.adminCert = adminCert; - } - - /** - * @return the status - */ - public String getStatus() { - return status; - } - - /** - * @param status the status to set - */ - public void setStatus(String status) { - this.status = status; - } - - - - public void setAdminCert(X509CertImpl x509CertImpl) throws CertificateEncodingException { - adminCert.setCert(CMS.BtoA(x509CertImpl.getEncoded())); - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/DomainInfo.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/DomainInfo.java deleted file mode 100644 index 7ba351cb1..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/DomainInfo.java +++ /dev/null @@ -1,155 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin.model; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="DomainInfo") -public class DomainInfo { - - @XmlElement(name="CAList") - protected SecurityDomainHostList caList; - - @XmlElement(name="KRAList") - protected SecurityDomainHostList kraList; - - @XmlElement(name="OCSPList") - protected SecurityDomainHostList ocspList; - - @XmlElement(name="TKSList") - protected SecurityDomainHostList tksList; - - @XmlElement(name="TPSList") - protected SecurityDomainHostList tpsList; - - @XmlElement(name="RAList") - protected SecurityDomainHostList raList; - - @XmlElement - protected String name; - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @param name the name to set - */ - public void setName(String name) { - this.name = name; - } - - /** - * @return the caList - */ - public SecurityDomainHostList getCaList() { - return caList; - } - - /** - * @param caList the caList to set - */ - public void setCaList(SecurityDomainHostList caList) { - this.caList = caList; - } - - /** - * @return the kraList - */ - public SecurityDomainHostList getKraList() { - return kraList; - } - - /** - * @param kraList the kraList to set - */ - public void setKraList(SecurityDomainHostList kraList) { - this.kraList = kraList; - } - - /** - * @return the ocspList - */ - public SecurityDomainHostList getOcspList() { - return ocspList; - } - - /** - * @param ocspList the ocspList to set - */ - public void setOcspList(SecurityDomainHostList ocspList) { - this.ocspList = ocspList; - } - - /** - * @return the tksList - */ - public SecurityDomainHostList getTksList() { - return tksList; - } - - /** - * @param tksList the tksList to set - */ - public void setTksList(SecurityDomainHostList tksList) { - this.tksList = tksList; - } - - /** - * @return the tpsList - */ - public SecurityDomainHostList getTpsList() { - return tpsList; - } - - /** - * @param tpsList the tpsList to set - */ - public void setTpsList(SecurityDomainHostList tpsList) { - this.tpsList = tpsList; - } - - /** - * @return the raList - */ - public SecurityDomainHostList getRaList() { - return raList; - } - - /** - * @param raList the raList to set - */ - public void setRaList(SecurityDomainHostList raList) { - this.raList = raList; - } - - - - - - - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/InstallToken.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/InstallToken.java deleted file mode 100644 index 59284de37..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/InstallToken.java +++ /dev/null @@ -1,50 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="CertData") -@XmlAccessorType(XmlAccessType.FIELD) -public class InstallToken { - @XmlElement - private String token; - - public InstallToken(String token) { - this.token = token; - } - - public InstallToken() { - // required by jaxb - } - - public String getToken() { - return token; - } - - public void setToken(String token) { - this.token = token; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/InstallTokenRequest.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/InstallTokenRequest.java deleted file mode 100644 index 40be4179d..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/InstallTokenRequest.java +++ /dev/null @@ -1,99 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin.model; - -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlAccessType; - -/** - * @author alee - * - */ -@XmlRootElement(name="InstallTokenRequest") -@XmlAccessorType(XmlAccessType.FIELD) -public class InstallTokenRequest { - @XmlElement - private String user; - - @XmlElement - private String password; - - @XmlElement - private String subsystem; - - @XmlElement - private String host; - - @XmlElement - private String port; - - public InstallTokenRequest(String user, String password, String subsystem, String host, String port) { - this.user = user; - this.password = password; - this.subsystem = subsystem; - this.host = host; - this.port = port; - } - - public InstallTokenRequest() { - // required for jaxb - } - - public String getUser() { - return user; - } - - public void setUser(String user) { - this.user = user; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getSubsystem() { - return subsystem; - } - - public void setSubsystem(String subsystem) { - this.subsystem = subsystem; - } - - public String getHost() { - return host; - } - - public void setHost(String host) { - this.host = host; - } - - public String getPort() { - return port; - } - - public void setPort(String port) { - this.port = port; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/SecurityDomainHost.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/SecurityDomainHost.java deleted file mode 100644 index cd12cfaf2..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/SecurityDomainHost.java +++ /dev/null @@ -1,40 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.csadmin.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="DomainInfo") -@XmlAccessorType(XmlAccessType.FIELD) -public class SecurityDomainHost { - protected String host; - protected String securePort; - protected String secureAgentPort; - protected String secureAdminPort; - protected String secureEEClientAuthPort; - protected String unSecurePort; - protected String clone; - protected String subsystemName; - protected String domainManager; -} diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/model/SecurityDomainHostList.java b/base/common/src/com/netscape/cms/servlet/csadmin/model/SecurityDomainHostList.java deleted file mode 100644 index 71922731e..000000000 --- a/base/common/src/com/netscape/cms/servlet/csadmin/model/SecurityDomainHostList.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * - */ -package com.netscape.cms.servlet.csadmin.model; - -import java.util.Collection; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement -public class SecurityDomainHostList { - protected Collection<SecurityDomainHost> systems; - - @XmlElement(name="SubsystemCount") - protected int count; - - /** - * @return the systems - */ - @XmlElementRef - public Collection<SecurityDomainHost> getSystems() { - return systems; - } - - /** - * @param systems the systems to set - */ - public void setSystems(Collection<SecurityDomainHost> systems) { - this.systems = systems; - } - - /** - * @return the count - */ - public int getCount() { - return count; - } - - /** - * @param count the count to set - */ - public void setCount(int count) { - this.count = count; - } - - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java b/base/common/src/com/netscape/cms/servlet/key/KeyRequestDAO.java index 36a869aaf..e64bcb2dc 100644 --- a/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestDAO.java +++ b/base/common/src/com/netscape/cms/servlet/key/KeyRequestDAO.java @@ -15,7 +15,7 @@ // (C) 2011 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; +package com.netscape.cms.servlet.key; import java.util.ArrayList; import java.util.Collection; @@ -32,13 +32,20 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.dbs.keydb.IKeyRecord; import com.netscape.certsrv.dbs.keydb.IKeyRepository; import com.netscape.certsrv.dbs.keydb.KeyId; +import com.netscape.certsrv.key.KeyArchivalRequest; +import com.netscape.certsrv.key.KeyRecoveryRequest; +import com.netscape.certsrv.key.KeyRequestInfo; +import com.netscape.certsrv.key.KeyRequestInfos; +import com.netscape.certsrv.key.KeyRequestResource; +import com.netscape.certsrv.key.KeyResource; import com.netscape.certsrv.kra.IKeyRecoveryAuthority; import com.netscape.certsrv.profile.IEnrollProfile; +import com.netscape.certsrv.request.CMSRequestInfo; +import com.netscape.certsrv.request.CMSRequestInfos; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; -import com.netscape.cms.servlet.key.KeyResource; -import com.netscape.cms.servlet.request.KeyRequestResource; +import com.netscape.cms.servlet.request.CMSRequestDAO; /** * @author alee @@ -127,7 +134,7 @@ public class KeyRequestDAO extends CMSRequestDAO { * @return info for the request submitted. * @throws EBaseException */ - public KeyRequestInfo submitRequest(ArchivalRequestData data, UriInfo uriInfo) throws EBaseException { + public KeyRequestInfo submitRequest(KeyArchivalRequest data, UriInfo uriInfo) throws EBaseException { String clientId = data.getClientId(); String wrappedSecurityData = data.getWrappedPrivateData(); String dataType = data.getDataType(); @@ -158,7 +165,7 @@ public class KeyRequestDAO extends CMSRequestDAO { * @return info on the recovery request created * @throws EBaseException */ - public KeyRequestInfo submitRequest(RecoveryRequestData data, UriInfo uriInfo) throws EBaseException { + public KeyRequestInfo submitRequest(KeyRecoveryRequest data, UriInfo uriInfo) throws EBaseException { // set data using request.setExtData(field, data) String wrappedSessionKeyStr = data.getTransWrappedSessionKey(); diff --git a/base/common/src/com/netscape/cms/servlet/key/KeyResource.java b/base/common/src/com/netscape/cms/servlet/key/KeyResource.java deleted file mode 100644 index 4d352eaea..000000000 --- a/base/common/src/com/netscape/cms/servlet/key/KeyResource.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.netscape.cms.servlet.key; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; - -import com.netscape.cms.servlet.key.model.KeyData; -import com.netscape.cms.servlet.key.model.KeyDataInfos; -import com.netscape.cms.servlet.request.model.RecoveryRequestData; - -@Path("agent/keys") -public interface KeyResource { - - public static final int DEFAULT_MAXTIME = 10; - public static final int DEFAULT_MAXRESULTS = 100; - - @GET - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public KeyDataInfos listKeys(@QueryParam("clientID") String clientID, - @QueryParam("status") String status, - @DefaultValue(""+DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults, - @DefaultValue(""+DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime); - - - /** - * Used to retrieve a key - * @param data - * @return - */ - @POST - @Path("retrieve") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public KeyData retrieveKey(RecoveryRequestData data); - - // retrieval - used to test integration with a browser - @POST - @Path("retrieve") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) - public KeyData retrieveKey(MultivaluedMap<String, String> form); -} diff --git a/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java b/base/common/src/com/netscape/cms/servlet/key/KeyService.java index 560d7f9f8..4db2fed0a 100644 --- a/base/common/src/com/netscape/cms/servlet/key/KeyResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/key/KeyService.java @@ -36,31 +36,31 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.dbs.keydb.IKeyRecord; import com.netscape.certsrv.dbs.keydb.IKeyRepository; import com.netscape.certsrv.dbs.keydb.KeyId; +import com.netscape.certsrv.key.KeyData; +import com.netscape.certsrv.key.KeyDataInfo; +import com.netscape.certsrv.key.KeyDataInfos; +import com.netscape.certsrv.key.KeyRecoveryRequest; +import com.netscape.certsrv.key.KeyRequestInfo; +import com.netscape.certsrv.key.KeyResource; import com.netscape.certsrv.kra.IKeyRecoveryAuthority; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.IRequestQueue; import com.netscape.certsrv.request.RequestId; import com.netscape.certsrv.request.RequestStatus; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.key.model.KeyData; -import com.netscape.cms.servlet.key.model.KeyDataInfo; -import com.netscape.cms.servlet.key.model.KeyDataInfos; -import com.netscape.cms.servlet.request.model.KeyRequestDAO; -import com.netscape.cms.servlet.request.model.KeyRequestInfo; -import com.netscape.cms.servlet.request.model.RecoveryRequestData; +import com.netscape.cms.servlet.base.PKIService; import com.netscape.cmsutil.ldap.LDAPUtil; /** * @author alee * */ -public class KeyResourceService extends CMSResourceService implements KeyResource{ +public class KeyService extends PKIService implements KeyResource{ private IKeyRepository repo; private IKeyRecoveryAuthority kra; private IRequestQueue queue; - public KeyResourceService() { + public KeyService() { kra = ( IKeyRecoveryAuthority ) CMS.getSubsystem( "kra" ); repo = kra.getKeyRepository(); queue = kra.getRequestQueue(); @@ -71,7 +71,7 @@ public class KeyResourceService extends CMSResourceService implements KeyResourc * @param data * @return */ - public KeyData retrieveKey(RecoveryRequestData data) { + public KeyData retrieveKey(KeyRecoveryRequest data) { // auth and authz KeyId keyId = validateRequest(data); KeyData keyData; @@ -90,11 +90,11 @@ public class KeyResourceService extends CMSResourceService implements KeyResourc // retrieval - used to test integration with a browser public KeyData retrieveKey(MultivaluedMap<String, String> form) { - RecoveryRequestData data = new RecoveryRequestData(form); + KeyRecoveryRequest data = new KeyRecoveryRequest(form); return retrieveKey(data); } - public KeyData getKey(KeyId keyId, RecoveryRequestData data) throws EBaseException { + public KeyData getKey(KeyId keyId, KeyRecoveryRequest data) throws EBaseException { KeyData keyData; RequestId rId = data.getRequestId(); @@ -192,7 +192,7 @@ public class KeyResourceService extends CMSResourceService implements KeyResourc return keyData; } - private KeyId validateRequest(RecoveryRequestData data) { + private KeyId validateRequest(KeyRecoveryRequest data) { // confirm request exists RequestId reqId = data.getRequestId(); diff --git a/base/common/src/com/netscape/cms/servlet/key/model/KeyData.java b/base/common/src/com/netscape/cms/servlet/key/model/KeyData.java deleted file mode 100644 index 2ff2b5d0c..000000000 --- a/base/common/src/com/netscape/cms/servlet/key/model/KeyData.java +++ /dev/null @@ -1,76 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.key.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="SecurityData") -@XmlAccessorType(XmlAccessType.FIELD) -public class KeyData { - @XmlElement - String wrappedPrivateData; - - @XmlElement - String nonceData; - - public KeyData() { - // required for JAXB (defaults) - } - - /** - * @return the wrappedPrivateData - */ - public String getWrappedPrivateData() { - return wrappedPrivateData; - } - - /** - * @param wrappedPrivateData the wrappedPrivateData to set - */ - public void setWrappedPrivateData(String wrappedPrivateData) { - this.wrappedPrivateData = wrappedPrivateData; - } - - /** - * @return the nonceData - */ - - public String getNonceData() { - return nonceData; - } - - /** - * @param nonceData the nonceData to set - */ - - public void setNonceData(String nonceData) { - this.nonceData = nonceData; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java b/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java deleted file mode 100644 index 6fd9649fb..000000000 --- a/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfo.java +++ /dev/null @@ -1,85 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -/** - * - */ -package com.netscape.cms.servlet.key.model; - - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlAccessorType; - -import com.netscape.certsrv.dbs.keydb.KeyId; - -/** - * @author alee - * - */ -@XmlRootElement(name="SecurityDataInfo") -@XmlAccessorType(XmlAccessType.FIELD) -public class KeyDataInfo { - - @XmlElement - protected String keyURL; - - @XmlElement - protected String clientID; - - public KeyDataInfo() { - // required for JAXB (defaults) - } - - /** - * @return the keyURL - */ - public String getKeyURL() { - return keyURL; - } - - /** - * @param keyURL the keyURL to set - */ - public void setKeyURL(String keyURL) { - this.keyURL = keyURL; - } - - /** - * @return the key ID in the keyURL - */ - public KeyId getKeyId() { - String id = keyURL.substring(keyURL.lastIndexOf("/") + 1); - return new KeyId(id); - } - - /** - * @return the clientID - */ - public String getClientID() { - return clientID; - } - - /** - * @param clientID the clientID to set - */ - public void setClientID(String clientID) { - this.clientID = clientID; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfos.java b/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfos.java deleted file mode 100644 index 79e5add95..000000000 --- a/base/common/src/com/netscape/cms/servlet/key/model/KeyDataInfos.java +++ /dev/null @@ -1,87 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.key.model; - -import java.util.Collection; -import java.util.List; - -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; - -import com.netscape.cms.servlet.base.model.Link; - -@XmlRootElement(name = "SecurityDataInfos") -public class KeyDataInfos { - - protected Collection<KeyDataInfo> keyInfos; - protected List<Link> links; - - /** - * @return the keyInfos - */ - @XmlElementRef - public Collection<KeyDataInfo> getKeyInfos() { - return keyInfos; - } - /** - * @param keyInfos the keyInfos to set - */ - public void setKeyInfos(Collection<KeyDataInfo> keyInfos) { - this.keyInfos = keyInfos; - } - /** - * @return the links - */ - @XmlElementRef - public List<Link> getLinks() { - return links; - } - /** - * @param links the links to set - */ - public void setLinks(List<Link> links) { - this.links = links; - } - - @XmlTransient - public String getNext() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("next".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } - - @XmlTransient - public String getPrevious() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("previous".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraintFactory.java b/base/common/src/com/netscape/cms/servlet/profile/PolicyConstraintFactory.java index bd361a752..6c1d92a72 100644 --- a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraintFactory.java +++ b/base/common/src/com/netscape/cms/servlet/profile/PolicyConstraintFactory.java @@ -15,12 +15,14 @@ // (C) 2012 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; +package com.netscape.cms.servlet.profile; import java.util.Enumeration; import java.util.Locale; import com.netscape.certsrv.profile.IPolicyConstraint; +import com.netscape.certsrv.profile.PolicyConstraint; +import com.netscape.certsrv.profile.PolicyConstraintValue; import com.netscape.certsrv.property.Descriptor; public class PolicyConstraintFactory { diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyDefaultFactory.java b/base/common/src/com/netscape/cms/servlet/profile/PolicyDefaultFactory.java index 6b9379f0b..fe6b436ab 100644 --- a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyDefaultFactory.java +++ b/base/common/src/com/netscape/cms/servlet/profile/PolicyDefaultFactory.java @@ -15,13 +15,15 @@ // (C) 2012 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; +package com.netscape.cms.servlet.profile; import java.util.Enumeration; import java.util.Locale; import com.netscape.certsrv.base.IArgBlock; import com.netscape.certsrv.profile.IPolicyDefault; +import com.netscape.certsrv.profile.PolicyDefault; +import com.netscape.certsrv.profile.ProfileAttribute; import com.netscape.certsrv.property.Descriptor; import com.netscape.certsrv.property.EPropertyException; import com.netscape.certsrv.request.IRequest; diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileInputFactory.java b/base/common/src/com/netscape/cms/servlet/profile/ProfileInputFactory.java index 67d3e9a2c..f5a9e7556 100644 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileInputFactory.java +++ b/base/common/src/com/netscape/cms/servlet/profile/ProfileInputFactory.java @@ -1,4 +1,4 @@ -package com.netscape.cms.servlet.profile.model; +package com.netscape.cms.servlet.profile; import java.util.Enumeration; import java.util.Locale; @@ -6,6 +6,7 @@ import java.util.Locale; import com.netscape.certsrv.base.IArgBlock; import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.IProfileInput; +import com.netscape.certsrv.profile.ProfileInput; import com.netscape.certsrv.request.IRequest; public class ProfileInputFactory { diff --git a/base/common/src/com/netscape/cms/servlet/profile/ProfileNotFoundException.java b/base/common/src/com/netscape/cms/servlet/profile/ProfileNotFoundException.java deleted file mode 100644 index 30a1a5852..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/ProfileNotFoundException.java +++ /dev/null @@ -1,62 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile; - -import javax.ws.rs.core.Response; - -import com.netscape.cms.servlet.base.CMSException; - -public class ProfileNotFoundException extends CMSException { - - private static final long serialVersionUID = -4784839378360933483L; - - public String profileId; - - public ProfileNotFoundException(String profileId) { - this(profileId, "Profile ID " + profileId + " not found"); - } - - public ProfileNotFoundException(String profileId, String message) { - super(Response.Status.NOT_FOUND, message); - this.profileId = profileId; - } - - public ProfileNotFoundException(String profileId, String message, Throwable cause) { - super(Response.Status.NOT_FOUND, message, cause); - this.profileId = profileId; - } - - public ProfileNotFoundException(Data data) { - super(data); - profileId = data.getAttribute("profileId"); - } - - public Data getData() { - Data data = super.getData(); - data.setAttribute("profileId", profileId); - return data; - } - - public String getProfileId() { - return profileId; - } - - public void setRequestId(String profileId) { - this.profileId = profileId; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileOutputFactory.java b/base/common/src/com/netscape/cms/servlet/profile/ProfileOutputFactory.java index 93bbaa2c5..278acf488 100644 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileOutputFactory.java +++ b/base/common/src/com/netscape/cms/servlet/profile/ProfileOutputFactory.java @@ -15,13 +15,15 @@ //(C) 2012 Red Hat, Inc. //All rights reserved. //--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; +package com.netscape.cms.servlet.profile; import java.util.Enumeration; import java.util.Locale; import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.IProfileOutput; +import com.netscape.certsrv.profile.ProfileAttribute; +import com.netscape.certsrv.profile.ProfileOutput; import com.netscape.certsrv.property.Descriptor; import com.netscape.certsrv.request.IRequest; diff --git a/base/common/src/com/netscape/cms/servlet/profile/ProfileProcessServlet.java b/base/common/src/com/netscape/cms/servlet/profile/ProfileProcessServlet.java index 0f9f34144..dcde4b019 100644 --- a/base/common/src/com/netscape/cms/servlet/profile/ProfileProcessServlet.java +++ b/base/common/src/com/netscape/cms/servlet/profile/ProfileProcessServlet.java @@ -29,10 +29,13 @@ import com.netscape.certsrv.authentication.EAuthException; import com.netscape.certsrv.authorization.EAuthzException; import com.netscape.certsrv.base.BadRequestDataException; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.cert.CertReviewResponse; import com.netscape.certsrv.logging.ILogger; import com.netscape.certsrv.profile.EDeferException; import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.ERejectException; +import com.netscape.certsrv.profile.ProfileAttribute; +import com.netscape.certsrv.profile.ProfileOutput; import com.netscape.certsrv.property.Descriptor; import com.netscape.certsrv.property.EPropertyException; import com.netscape.certsrv.request.IRequest; @@ -41,9 +44,6 @@ import com.netscape.certsrv.template.ArgSet; import com.netscape.certsrv.template.ArgString; import com.netscape.cms.servlet.cert.RequestProcessor; import com.netscape.cms.servlet.common.CMSRequest; -import com.netscape.cms.servlet.profile.model.ProfileAttribute; -import com.netscape.cms.servlet.profile.model.ProfileOutput; -import com.netscape.cms.servlet.request.model.AgentEnrollmentRequestData; /** * This servlet approves profile-based request. @@ -103,7 +103,7 @@ public class ProfileProcessServlet extends ProfileServlet { // set request in cmsReq for later retrieval cmsReq.setIRequest(req); - AgentEnrollmentRequestData data = null; + CertReviewResponse data = null; try { data = processor.processRequest(cmsReq, req, op); } catch (EAuthException e) { diff --git a/base/common/src/com/netscape/cms/servlet/profile/ProfileResource.java b/base/common/src/com/netscape/cms/servlet/profile/ProfileResource.java deleted file mode 100644 index cc32234b2..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/ProfileResource.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.netscape.cms.servlet.profile; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -import com.netscape.cms.servlet.profile.model.ProfileData; -import com.netscape.cms.servlet.profile.model.ProfileDataInfos; - -@Path("agent/profiles") -public interface ProfileResource { - - @GET - @Path("{id}") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public ProfileData retrieveProfile(@PathParam("id") String id); - - @GET - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public ProfileDataInfos listProfiles(); - - /** - * Used to retrieve a key - * - * @param data - * @return - */ - - /* - @POST - @Path("retrieve") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public ProfileData retrieveProfile(ProfileRetrievalRequestData request); - - // retrieval - used to test integration with a browser - @POST - @Path("retrieve") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) - public ProfileData retrievProfile(MultivaluedMap<String, String> form); - */ -}
\ No newline at end of file diff --git a/base/common/src/com/netscape/cms/servlet/profile/ProfileResourceService.java b/base/common/src/com/netscape/cms/servlet/profile/ProfileService.java index c39125876..2b790b8cb 100644 --- a/base/common/src/com/netscape/cms/servlet/profile/ProfileResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/profile/ProfileService.java @@ -32,17 +32,19 @@ import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.IProfile; import com.netscape.certsrv.profile.IProfileInput; import com.netscape.certsrv.profile.IProfileSubsystem; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.profile.model.ProfileData; -import com.netscape.cms.servlet.profile.model.ProfileDataInfo; -import com.netscape.cms.servlet.profile.model.ProfileDataInfos; -import com.netscape.cms.servlet.profile.model.ProfileInput; +import com.netscape.certsrv.profile.ProfileData; +import com.netscape.certsrv.profile.ProfileDataInfo; +import com.netscape.certsrv.profile.ProfileDataInfos; +import com.netscape.certsrv.profile.ProfileInput; +import com.netscape.certsrv.profile.ProfileNotFoundException; +import com.netscape.certsrv.profile.ProfileResource; +import com.netscape.cms.servlet.base.PKIService; /** * @author alee * */ -public class ProfileResourceService extends CMSResourceService implements ProfileResource { +public class ProfileService extends PKIService implements ProfileResource { private IProfileSubsystem ps = (IProfileSubsystem) CMS.getSubsystem(IProfileSubsystem.ID); diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraint.java b/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraint.java deleted file mode 100644 index 588431a83..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraint.java +++ /dev/null @@ -1,73 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class PolicyConstraint { - @XmlAttribute(name="id") - private String name; - - @XmlElement(name="description") - private String text; - - @XmlElement(name = "constraint") - private List<PolicyConstraintValue> constraints = new ArrayList<PolicyConstraintValue>(); - - public PolicyConstraint() { - // required for jaxb - } - - public void addConstraint(PolicyConstraintValue constraint) { - constraints.add(constraint); - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - public List<PolicyConstraintValue> getConstraints() { - return constraints; - } - - public void setConstraints(List<PolicyConstraintValue> constraints) { - this.constraints = constraints; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraintValue.java b/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraintValue.java deleted file mode 100644 index 7b60e7ea6..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyConstraintValue.java +++ /dev/null @@ -1,61 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import com.netscape.certsrv.property.Descriptor; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class PolicyConstraintValue { - @XmlAttribute(name="id") - private String name; - - @XmlElement - private Descriptor descriptor; - - public PolicyConstraintValue() { - // required for jax-b - } - - public PolicyConstraintValue(String name, Descriptor descriptor) { - this.name = name; - this.descriptor = descriptor; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Descriptor getDescriptor() { - return descriptor; - } - - public void setDescriptor(Descriptor descriptor) { - this.descriptor = descriptor; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyDefault.java b/base/common/src/com/netscape/cms/servlet/profile/model/PolicyDefault.java deleted file mode 100644 index 2c66fc9dc..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/PolicyDefault.java +++ /dev/null @@ -1,73 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class PolicyDefault { - @XmlAttribute(name="id") - private String name; - - @XmlElement(name="description") - private String text; - - @XmlElement(name="policyAttribute") - private List<ProfileAttribute> attributes = new ArrayList<ProfileAttribute>(); - - public PolicyDefault() { - // required for jaxb - } - - public void addAttribute(ProfileAttribute attr) { - attributes.add(attr); - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - public List<ProfileAttribute> getAttributes() { - return attributes; - } - - public void setAttributes(List<ProfileAttribute> attributes) { - this.attributes = attributes; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileAttribute.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfileAttribute.java deleted file mode 100644 index 616c0695d..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileAttribute.java +++ /dev/null @@ -1,80 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import com.netscape.certsrv.property.Descriptor; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfileAttribute { - - @XmlAttribute - private String name; - - @XmlElement - private String value; - - @XmlElement - private Descriptor descriptor; - - public ProfileAttribute() { - // required for jax-b - } - - public ProfileAttribute(String name, String value, Descriptor descriptor) { - this.name = name; - this.value = value; - this.descriptor = descriptor; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public Descriptor getDescriptor() { - return descriptor; - } - - public void setDescriptor(Descriptor descriptor) { - this.descriptor = descriptor; - } - - @Override - public String toString() { - return "PolicyAttribute [name=" + name + ", value=" + value + ", descriptor=" + descriptor + "]"; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileData.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfileData.java deleted file mode 100644 index 7f7f26b29..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileData.java +++ /dev/null @@ -1,147 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.profile.model; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author jmagne - * - */ - -@XmlRootElement(name = "ProfileData") -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfileData { - - @XmlElement - protected String id; - - @XmlElement - protected String name; - - @XmlElement - protected String description; - - @XmlElement - protected boolean isEnabled; - - @XmlElement - protected boolean isVisible; - - @XmlElement - protected String enabledBy; - - @XmlElement(name = "Input") - protected List<ProfileInput> inputs = new ArrayList<ProfileInput>(); - - public void setName(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getDescription() { - return description; - } - - public void setIsEnabled(boolean isEnabled) { - this.isEnabled = isEnabled; - } - - public boolean getIsEnabled() { - return isEnabled; - } - - public void setIsVisible(boolean isVisible) { - this.isVisible = isVisible; - } - - public boolean getIsVisible() { - return isVisible; - } - - public void setEnabledBy(String enabledBy) { - this.enabledBy = enabledBy; - } - - public String getEnabledBy() { - return enabledBy; - } - - public void setId(String id) { - this.id = id; - } - - public String getId() { - return id; - } - - public ProfileInput addProfileInput(String name) { - - ProfileInput oldInput = getProfileInput(name); - - if (oldInput != null) - return oldInput; - - ProfileInput newInput = new ProfileInput(); - newInput.setInputId(name); - - inputs.add(newInput); - - return newInput; - } - - public ProfileInput getProfileInput(String name) { - - ProfileInput input = null; - - Iterator<ProfileInput> it = inputs.iterator(); - - ProfileInput curInput = null; - while (it.hasNext()) { - curInput = it.next(); - - if (curInput != null && curInput.getInputId().equals(name)) - break; - } - - return input; - } - - public List<ProfileInput> getProfileInputsList() { - return inputs; - } - -}
\ No newline at end of file diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileDataInfo.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfileDataInfo.java deleted file mode 100644 index d5083c7a4..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileDataInfo.java +++ /dev/null @@ -1,68 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2011 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- - -package com.netscape.cms.servlet.profile.model; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name = "ProfileDataInfo") -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfileDataInfo { - - @XmlElement - protected String profileURL; - - @XmlElement - protected String profileId; - - public ProfileDataInfo() { - // required for JAXB (defaults) - } - - /** - * @return the profileURL - */ - public String getProfileURL() { - return profileURL; - } - - /** - * @param keyURL the profileURL to set - */ - public void setProfileURL(String profileURL) { - this.profileURL = profileURL; - } - - public void setProfileId(String profileId) { - this.profileId = profileId; - } - - /** - * @return the profile ID in the profileURL - */ - public String getProfileId() { - return profileId; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileDataInfos.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfileDataInfos.java deleted file mode 100644 index e14ac6641..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileDataInfos.java +++ /dev/null @@ -1,90 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2012 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.util.Collection; -import java.util.List; - -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; - -import com.netscape.cms.servlet.base.model.Link; - -@XmlRootElement(name = "ProfileDataInfos") -public class ProfileDataInfos { - - protected Collection<ProfileDataInfo> profileInfos; - protected List<Link> links; - - /** - * @return the ProfileInfos - */ - @XmlElementRef - public Collection<ProfileDataInfo> getProfileInfos() { - return profileInfos; - } - - /** - * @param ProfileInfos theProfileInfos to set - */ - public void setProfileInfos(Collection<ProfileDataInfo> profileInfos) { - this.profileInfos = profileInfos; - } - - /** - * @return the links - */ - @XmlElementRef - public List<Link> getLinks() { - return links; - } - - /** - * @param links the links to set - */ - public void setLinks(List<Link> links) { - this.links = links; - } - - @XmlTransient - public String getNext() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("next".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } - - @XmlTransient - public String getPrevious() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("previous".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileInput.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfileInput.java deleted file mode 100644 index 631a013cc..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileInput.java +++ /dev/null @@ -1,94 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlValue; -import javax.xml.bind.annotation.adapters.XmlAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -public class ProfileInput { - - public ProfileInput() { - // required for jaxb - } - - @XmlElement - public String getInputId() { - return inputId; - } - - private String inputId; - - @XmlJavaTypeAdapter(InputAttrsAdapter.class) - public Map<String, String> InputAttrs = new LinkedHashMap<String, String>(); - - public void setInputAttr(String name, String value) { - InputAttrs.put(name, value); - } - - public void setInputId(String inputId) { - this.inputId = inputId; - } - - public static class InputAttrsAdapter extends XmlAdapter<InputAttrList, Map<String, String>> { - - public InputAttrList marshal(Map<String, String> map) { - InputAttrList list = new InputAttrList(); - for (Map.Entry<String, String> entry : map.entrySet()) { - Attribute attribute = new Attribute(); - attribute.name = entry.getKey(); - attribute.value = entry.getValue(); - list.attributes.add(attribute); - } - return list; - } - - public Map<String, String> unmarshal(InputAttrList list) { - Map<String, String> map = new LinkedHashMap<String, String>(); - for (Attribute attribute : list.attributes) { - map.put(attribute.name, attribute.value); - } - return map; - } - } - - public static class InputAttrList { - @XmlElement(name = "InputAttr") - public List<Attribute> attributes = new ArrayList<Attribute>(); - } - - public static class Attribute { - - @XmlAttribute - public String name; - - @XmlValue - public String value; - } - - public Map<String, String> getAttributes() { - return InputAttrs; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileOutput.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfileOutput.java deleted file mode 100644 index f27db4101..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfileOutput.java +++ /dev/null @@ -1,84 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfileOutput { - - public ProfileOutput() { - // required for jaxb - } - - @XmlElement - private String outputId; - - @XmlElement(name = "attributes") - private List<ProfileAttribute> attrs = new ArrayList<ProfileAttribute>(); - - @XmlElement - private String name; - - @XmlElement - private String text; - - public String getOutputId() { - return outputId; - } - - public void setOutputId(String OutputId) { - this.outputId = OutputId; - } - - public List<ProfileAttribute> getAttrs() { - return attrs; - } - - public void setAttrs(List<ProfileAttribute> attrs) { - this.attrs = attrs; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - public void addAttribute(ProfileAttribute attr) { - attrs.add(attr); - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfilePolicy.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfilePolicy.java deleted file mode 100644 index a24f93619..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfilePolicy.java +++ /dev/null @@ -1,82 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2012 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.io.ByteArrayOutputStream; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfilePolicy { - @XmlAttribute - private String id = null; - - @XmlElement - private PolicyDefault def = null; - - @XmlElement - private PolicyConstraint constraint = null; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public PolicyDefault getDef() { - return def; - } - - public void setDef(PolicyDefault def) { - this.def = def; - } - - public PolicyConstraint getConstraint() { - return constraint; - } - - public void setConstraint(PolicyConstraint constraint) { - this.constraint = constraint; - } - - public String toString() { - try { - JAXBContext context = JAXBContext.newInstance(ProfilePolicy.class); - Marshaller marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - - marshaller.marshal(this, stream); - return stream.toString(); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/profile/model/ProfilePolicySet.java b/base/common/src/com/netscape/cms/servlet/profile/model/ProfilePolicySet.java deleted file mode 100644 index 784f5670d..000000000 --- a/base/common/src/com/netscape/cms/servlet/profile/model/ProfilePolicySet.java +++ /dev/null @@ -1,50 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2012 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.profile.model; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfilePolicySet { - @XmlElement - protected List<ProfilePolicy> policies = new ArrayList<ProfilePolicy>(); - - public List<ProfilePolicy> getPolicies() { - return policies; - } - - public void setPolicies(List<ProfilePolicy> policies) { - this.policies = policies; - } - - public void addPolicy(ProfilePolicy policy) { - policies.add(policy); - } - - public void removePolicy(ProfilePolicy policy) { - policies.remove(policy); - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestDAO.java b/base/common/src/com/netscape/cms/servlet/request/CMSRequestDAO.java index 5ac984168..f7c9f7aae 100644 --- a/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestDAO.java +++ b/base/common/src/com/netscape/cms/servlet/request/CMSRequestDAO.java @@ -15,7 +15,7 @@ // (C) 2011 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; +package com.netscape.cms.servlet.request; import java.net.URI; import java.util.ArrayList; @@ -28,12 +28,14 @@ import javax.ws.rs.core.UriInfo; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.authority.IAuthority; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.base.Link; +import com.netscape.certsrv.request.CMSRequestInfo; +import com.netscape.certsrv.request.CMSRequestInfos; import com.netscape.certsrv.request.IRequest; import com.netscape.certsrv.request.IRequestList; import com.netscape.certsrv.request.IRequestQueue; import com.netscape.certsrv.request.IRequestVirtualList; import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.base.model.Link; /** * @author alee @@ -161,6 +163,6 @@ public abstract class CMSRequestDAO { return false; } - abstract CMSRequestInfo createCMSRequestInfo(IRequest request, UriInfo uriInfo); + protected abstract CMSRequestInfo createCMSRequestInfo(IRequest request, UriInfo uriInfo); } diff --git a/base/common/src/com/netscape/cms/servlet/request/CertRequestResource.java b/base/common/src/com/netscape/cms/servlet/request/CertRequestResource.java deleted file mode 100644 index fc06e5e10..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/CertRequestResource.java +++ /dev/null @@ -1,118 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; - -import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.request.model.AgentEnrollmentRequestData; -import com.netscape.cms.servlet.request.model.CertRequestInfo; -import com.netscape.cms.servlet.request.model.CertRequestInfos; -import com.netscape.cms.servlet.request.model.EnrollmentRequestData; - -@Path("") -public interface CertRequestResource { - - public static final int DEFAULT_START = 0; - public static final int DEFAULT_PAGESIZE = 20; - public static final int DEFAULT_MAXRESULTS = 100; - public static final int DEFAULT_MAXTIME = 10; - - /** - * Used to generate list of cert requests based on the search parameters - */ - @GET - @Path("agent/certrequests") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertRequestInfos listRequests(@QueryParam("requestState") String requestState, - @QueryParam("requestType") String requestType, - @DefaultValue("" + DEFAULT_START) @QueryParam("start") RequestId start, - @DefaultValue("" + DEFAULT_PAGESIZE) @QueryParam("pageSize") int pageSize, - @DefaultValue("" + DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults, - @DefaultValue("" + DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime); - - /** - * Used to retrieve cert request info for a specific request - */ - @GET - @Path("certrequests/{id}") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertRequestInfo getRequestInfo(@PathParam("id") RequestId id); - - @GET - @Path("agent/certrequests/{id}") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public AgentEnrollmentRequestData reviewRequest(@PathParam("id") RequestId id); - - // Enrollment - used to test integration with a browser - @POST - @Path("certrequests") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) - public CertRequestInfos enrollCert(MultivaluedMap<String, String> form); - - @POST - @Path("certrequests") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public CertRequestInfos enrollCert(EnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/approve") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void approveRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/reject") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void rejectRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/cancel") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void cancelRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/update") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void updateRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/validate") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void validateRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/unassign") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void unassignRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); - - @POST - @Path("agent/certrequests/{id}/assign") - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public void assignRequest(@PathParam("id") RequestId id, AgentEnrollmentRequestData data); -} diff --git a/base/common/src/com/netscape/cms/servlet/request/CertRequestResourceService.java b/base/common/src/com/netscape/cms/servlet/request/CertRequestService.java index d107e2191..a8099003f 100644 --- a/base/common/src/com/netscape/cms/servlet/request/CertRequestResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/request/CertRequestService.java @@ -26,27 +26,29 @@ import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.authentication.EAuthException; import com.netscape.certsrv.authorization.EAuthzException; import com.netscape.certsrv.base.BadRequestDataException; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.base.PKIException; +import com.netscape.certsrv.cert.CertEnrollmentRequest; +import com.netscape.certsrv.cert.CertRequestInfo; +import com.netscape.certsrv.cert.CertRequestInfos; +import com.netscape.certsrv.cert.CertRequestResource; +import com.netscape.certsrv.cert.CertReviewResponse; import com.netscape.certsrv.profile.EDeferException; import com.netscape.certsrv.profile.EProfileException; import com.netscape.certsrv.profile.ERejectException; import com.netscape.certsrv.property.EPropertyException; import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.base.BadRequestException; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.request.model.AgentEnrollmentRequestData; -import com.netscape.cms.servlet.request.model.CertRequestDAO; -import com.netscape.cms.servlet.request.model.CertRequestInfo; -import com.netscape.cms.servlet.request.model.CertRequestInfos; -import com.netscape.cms.servlet.request.model.EnrollmentRequestData; +import com.netscape.certsrv.request.RequestNotFoundException; +import com.netscape.cms.servlet.base.PKIService; +import com.netscape.cms.servlet.cert.CertRequestDAO; import com.netscape.cmsutil.ldap.LDAPUtil; /** * @author alee * */ -public class CertRequestResourceService extends CMSResourceService implements CertRequestResource { +public class CertRequestService extends PKIService implements CertRequestResource { /** * Used to retrieve key request info for a specific request @@ -61,7 +63,7 @@ public class CertRequestResourceService extends CMSResourceService implements Ce } catch (EBaseException e) { // log error e.printStackTrace(); - throw new CMSException("Error getting Cert request info!"); + throw new PKIException("Error getting Cert request info!"); } if (info == null) { @@ -74,11 +76,11 @@ public class CertRequestResourceService extends CMSResourceService implements Ce // Enrollment - used to test integration with a browser public CertRequestInfos enrollCert(MultivaluedMap<String, String> form) { - EnrollmentRequestData data = new EnrollmentRequestData(form); + CertEnrollmentRequest data = new CertEnrollmentRequest(form); return enrollCert(data); } - public CertRequestInfos enrollCert(EnrollmentRequestData data) { + public CertRequestInfos enrollCert(CertEnrollmentRequest data) { CertRequestInfos infos; if (data == null) { throw new BadRequestException("Bad data input into CertRequestResourceService.enrollCert!"); @@ -89,49 +91,49 @@ public class CertRequestResourceService extends CMSResourceService implements Ce infos = dao.submitRequest(data, servletRequest, uriInfo, getLocale()); } catch (EAuthException e) { CMS.debug("enrollCert: authentication failed: " + e); - throw new CMSException(Response.Status.UNAUTHORIZED, e.toString()); + throw new PKIException(Response.Status.UNAUTHORIZED, e.toString()); } catch (EAuthzException e) { CMS.debug("enrollCert: authorization failed: " + e); - throw new CMSException(Response.Status.UNAUTHORIZED, e.toString()); + throw new PKIException(Response.Status.UNAUTHORIZED, e.toString()); } catch (BadRequestDataException e) { CMS.debug("enrollCert: bad request data: " + e); - throw new CMSException(Response.Status.BAD_REQUEST, e.toString()); + throw new PKIException(Response.Status.BAD_REQUEST, e.toString()); } catch (EBaseException e) { - throw new CMSException(e.toString()); + throw new PKIException(e.toString()); } return infos; } - public void approveRequest(RequestId id, AgentEnrollmentRequestData data) { + public void approveRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "approve"); } - public void rejectRequest(RequestId id, AgentEnrollmentRequestData data) { + public void rejectRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "reject"); } - public void cancelRequest(RequestId id, AgentEnrollmentRequestData data) { + public void cancelRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "cancel"); } - public void updateRequest(RequestId id, AgentEnrollmentRequestData data) { + public void updateRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "update"); } - public void validateRequest(RequestId id, AgentEnrollmentRequestData data) { + public void validateRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "validate"); } - public void unassignRequest(RequestId id, AgentEnrollmentRequestData data) { + public void unassignRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "unassign"); } - public void assignRequest(RequestId id, AgentEnrollmentRequestData data) { + public void assignRequest(RequestId id, CertReviewResponse data) { changeRequestState(id, data, "assign"); } - public void changeRequestState(RequestId id, AgentEnrollmentRequestData data, String op) { + public void changeRequestState(RequestId id, CertReviewResponse data, String op) { if (id == null) { throw new BadRequestException("Bad data input in CertRequestResourceService. op:" + op); } @@ -140,36 +142,36 @@ public class CertRequestResourceService extends CMSResourceService implements Ce dao.changeRequestState(id, servletRequest, data, getLocale(), op); } catch (ERejectException e) { CMS.debug("changeRequestState: execution rejected " + e); - throw new CMSException(Response.Status.BAD_REQUEST, + throw new PKIException(Response.Status.BAD_REQUEST, CMS.getUserMessage(getLocale(), "CMS_PROFILE_REJECTED", e.toString())); } catch (EDeferException e) { CMS.debug("changeRequestState: execution defered " + e); // TODO do we throw an exception here? - throw new CMSException(Response.Status.BAD_REQUEST, + throw new PKIException(Response.Status.BAD_REQUEST, CMS.getUserMessage(getLocale(), "CMS_PROFILE_DEFERRED", e.toString())); } catch (BadRequestDataException e) { CMS.debug("changeRequestState: bad request data: " + e); - throw new CMSException(Response.Status.BAD_REQUEST, e.toString()); + throw new PKIException(Response.Status.BAD_REQUEST, e.toString()); } catch (EPropertyException e) { CMS.debug("changeRequestState: execution error " + e); - throw new CMSException(CMS.getUserMessage(getLocale(), + throw new PKIException(CMS.getUserMessage(getLocale(), "CMS_PROFILE_PROPERTY_ERROR", e.toString())); } catch (EProfileException e) { CMS.debug("ProfileProcessServlet: execution error " + e); - throw new CMSException(CMS.getUserMessage(getLocale(), "CMS_INTERNAL_ERROR")); + throw new PKIException(CMS.getUserMessage(getLocale(), "CMS_INTERNAL_ERROR")); } catch (EBaseException e) { e.printStackTrace(); - throw new CMSException("Problem approving request in CertRequestResource.assignRequest! " + e); + throw new PKIException("Problem approving request in CertRequestResource.assignRequest! " + e); } catch (RequestNotFoundException e) { CMS.debug(e); - throw new CMSException(Response.Status.BAD_REQUEST, + throw new PKIException(Response.Status.BAD_REQUEST, CMS.getUserMessage(getLocale(), "CMS_REQUEST_NOT_FOUND", id.toString())); } } - public AgentEnrollmentRequestData reviewRequest(@PathParam("id") RequestId id) { + public CertReviewResponse reviewRequest(@PathParam("id") RequestId id) { // auth and authz - AgentEnrollmentRequestData info; + CertReviewResponse info; CertRequestDAO dao = new CertRequestDAO(); try { @@ -177,7 +179,7 @@ public class CertRequestResourceService extends CMSResourceService implements Ce } catch (EBaseException e) { // log error e.printStackTrace(); - throw new CMSException("Error getting Cert request info!"); + throw new PKIException("Error getting Cert request info!"); } if (info == null) { @@ -211,7 +213,7 @@ public class CertRequestResourceService extends CMSResourceService implements Ce } catch (EBaseException e) { CMS.debug("listRequests: error in obtaining request results" + e); e.printStackTrace(); - throw new CMSException("Error listing cert requests!"); + throw new PKIException("Error listing cert requests!"); } return requests; } diff --git a/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java b/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java deleted file mode 100644 index 9ed2eb2a1..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/KeyRequestResource.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.netscape.cms.servlet.request; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; - -import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.request.model.ArchivalRequestData; -import com.netscape.cms.servlet.request.model.KeyRequestInfo; -import com.netscape.cms.servlet.request.model.KeyRequestInfos; -import com.netscape.cms.servlet.request.model.RecoveryRequestData; - -@Path("agent/keyrequests") -public interface KeyRequestResource { - - public final String SYMMETRIC_KEY_TYPE = "symmetricKey"; - public final String PASS_PHRASE_TYPE = "passPhrase"; - public final String ASYMMETRIC_KEY_TYPE = "asymmetricKey"; - - public static final int DEFAULT_START = 0; - public static final int DEFAULT_PAGESIZE = 20; - public static final int DEFAULT_MAXRESULTS = 100; - public static final int DEFAULT_MAXTIME = 10; - - /** - * Used to generate list of key requests based on the search parameters - */ - @GET - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public KeyRequestInfos listRequests(@QueryParam("requestState") String requestState, - @QueryParam("requestType") String requestType, - @QueryParam("clientID") String clientID, - @DefaultValue(""+DEFAULT_START) @QueryParam("start") RequestId start, - @DefaultValue(""+DEFAULT_PAGESIZE) @QueryParam("pageSize") int pageSize, - @DefaultValue(""+DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults, - @DefaultValue(""+DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime); - - - /** - * Used to retrieve key request info for a specific request - */ - @GET - @Path("{id}") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public KeyRequestInfo getRequestInfo(@PathParam("id") RequestId id); - - // Archiving - used to test integration with a browser - @POST - @Path("archive") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_FORM_URLENCODED}) - public KeyRequestInfo archiveKey(MultivaluedMap<String, String> form); - - @POST - @Path("archive") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public KeyRequestInfo archiveKey(ArchivalRequestData data); - - //Recovery - used to test integration with a browser - @POST - @Path("recover") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_FORM_URLENCODED}) - public KeyRequestInfo recoverKey(MultivaluedMap<String, String> form); - - @POST - @Path("recover") - @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) - public KeyRequestInfo recoverKey(RecoveryRequestData data); - - @POST - @Path("{id}/approve") - public void approveRequest(@PathParam("id") RequestId id); - - @POST - @Path("{id}/reject") - public void rejectRequest(@PathParam("id") RequestId id); - - @POST - @Path("{id}/cancel") - public void cancelRequest(@PathParam("id") RequestId id); - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java b/base/common/src/com/netscape/cms/servlet/request/KeyRequestService.java index d98938b7a..775c0ed28 100644 --- a/base/common/src/com/netscape/cms/servlet/request/KeyRequestResourceService.java +++ b/base/common/src/com/netscape/cms/servlet/request/KeyRequestService.java @@ -24,21 +24,23 @@ import javax.ws.rs.core.Response; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.base.PKIException; +import com.netscape.certsrv.key.KeyArchivalRequest; +import com.netscape.certsrv.key.KeyRecoveryRequest; +import com.netscape.certsrv.key.KeyRequestInfo; +import com.netscape.certsrv.key.KeyRequestInfos; +import com.netscape.certsrv.key.KeyRequestResource; import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.base.CMSException; -import com.netscape.cms.servlet.base.CMSResourceService; -import com.netscape.cms.servlet.request.model.ArchivalRequestData; -import com.netscape.cms.servlet.request.model.KeyRequestDAO; -import com.netscape.cms.servlet.request.model.KeyRequestInfo; -import com.netscape.cms.servlet.request.model.KeyRequestInfos; -import com.netscape.cms.servlet.request.model.RecoveryRequestData; +import com.netscape.certsrv.request.RequestNotFoundException; +import com.netscape.cms.servlet.base.PKIService; +import com.netscape.cms.servlet.key.KeyRequestDAO; import com.netscape.cmsutil.ldap.LDAPUtil; /** * @author alee * */ -public class KeyRequestResourceService extends CMSResourceService implements KeyRequestResource { +public class KeyRequestService extends PKIService implements KeyRequestResource { /** * Used to retrieve key request info for a specific request @@ -52,7 +54,7 @@ public class KeyRequestResourceService extends CMSResourceService implements Key } catch (EBaseException e) { // log error e.printStackTrace(); - throw new CMSException(e.getMessage(), e); + throw new PKIException(e.getMessage(), e); } if (info == null) { // request does not exist @@ -63,11 +65,11 @@ public class KeyRequestResourceService extends CMSResourceService implements Key // Archiving - used to test integration with a browser public KeyRequestInfo archiveKey(MultivaluedMap<String, String> form) { - ArchivalRequestData data = new ArchivalRequestData(form); + KeyArchivalRequest data = new KeyArchivalRequest(form); return archiveKey(data); } - public KeyRequestInfo archiveKey(ArchivalRequestData data) { + public KeyRequestInfo archiveKey(KeyArchivalRequest data) { // auth and authz // Catch this before internal server processing has to deal with it @@ -91,11 +93,11 @@ public class KeyRequestResourceService extends CMSResourceService implements Key //Recovery - used to test integration with a browser public KeyRequestInfo recoverKey(MultivaluedMap<String, String> form) { - RecoveryRequestData data = new RecoveryRequestData(form); + KeyRecoveryRequest data = new KeyRecoveryRequest(form); return recoverKey(data); } - public KeyRequestInfo recoverKey(RecoveryRequestData data) { + public KeyRequestInfo recoverKey(KeyRecoveryRequest data) { // auth and authz //Check for entirely illegal data combination here diff --git a/base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java b/base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java deleted file mode 100644 index 5d6b5563b..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.netscape.cms.servlet.request; - -import javax.ws.rs.core.Response; - -import com.netscape.certsrv.request.RequestId; -import com.netscape.cms.servlet.base.CMSException; - -public class RequestNotFoundException extends CMSException { - - private static final long serialVersionUID = -4784839378360933483L; - - public RequestId requestId; - - public RequestNotFoundException(RequestId requestId) { - this(requestId, "Request ID "+requestId.toHexString()+" not found"); - } - - public RequestNotFoundException(RequestId requestId, String message) { - super(Response.Status.NOT_FOUND, message); - this.requestId = requestId; - } - - public RequestNotFoundException(RequestId requestId, String message, Throwable cause) { - super(Response.Status.NOT_FOUND, message, cause); - this.requestId = requestId; - } - - public RequestNotFoundException(Data data) { - super(data); - requestId = new RequestId(data.getAttribute("requestId")); - } - - public Data getData() { - Data data = super.getData(); - data.setAttribute("requestId", requestId.toString()); - return data; - } - - public RequestId getRequestId() { - return requestId; - } - - public void setRequestId(RequestId requestId) { - this.requestId = requestId; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/AgentEnrollmentRequestData.java b/base/common/src/com/netscape/cms/servlet/request/model/AgentEnrollmentRequestData.java deleted file mode 100644 index fb0874353..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/AgentEnrollmentRequestData.java +++ /dev/null @@ -1,252 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2012 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; - -import java.io.ByteArrayOutputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import com.netscape.certsrv.request.RequestId; -import com.netscape.certsrv.request.RequestIdAdapter; -import com.netscape.cms.servlet.profile.model.PolicyDefault; -import com.netscape.cms.servlet.profile.model.ProfileAttribute; -import com.netscape.cms.servlet.profile.model.ProfilePolicy; -import com.netscape.cms.servlet.profile.model.ProfilePolicySet; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -public class AgentEnrollmentRequestData extends EnrollmentRequestData { - - @XmlElement(name="ProfilePolicySet") - protected List<ProfilePolicySet> policySets = new ArrayList<ProfilePolicySet>(); - - protected String nonce; - - @XmlElement - @XmlJavaTypeAdapter(RequestIdAdapter.class) - protected RequestId requestId; - - protected String requestType; - - protected String requestStatus; - - protected String requestOwner; - - protected String requestCreationTime; - - protected String requestModificationTime; - - protected String requestNotes; - - protected String profileApprovedBy; - - protected String profileSetId; - - protected String profileIsVisible; - - protected String profileName; - - protected String profileDescription; - - protected String profileRemoteHost; - - protected String profileRemoteAddr; - - public String getNonce() { - return nonce; - } - - public void setNonce(String nonce) { - this.nonce = nonce; - } - - public RequestId getRequestId() { - return requestId; - } - - public void setRequestId(RequestId requestId) { - this.requestId = requestId; - } - - public String getRequestType() { - return requestType; - } - - public void setRequestType(String requestType) { - this.requestType = requestType; - } - - public String getRequestStatus() { - return requestStatus; - } - - public void setRequestStatus(String requestStatus) { - this.requestStatus = requestStatus; - } - - public String getRequestOwner() { - return requestOwner; - } - - public void setRequestOwner(String requestOwner) { - this.requestOwner = requestOwner; - } - - public String getRequestCreationTime() { - return requestCreationTime; - } - - public void setRequestCreationTime(String requestCreationTime) { - this.requestCreationTime = requestCreationTime; - } - - public String getRequestModificationTime() { - return requestModificationTime; - } - - public void setRequestModificationTime(String requestModificationTime) { - this.requestModificationTime = requestModificationTime; - } - - public String getRequestNotes() { - return requestNotes; - } - - public void setRequestNotes(String requestNotes) { - this.requestNotes = requestNotes; - } - - public String getProfileApprovedBy() { - return profileApprovedBy; - } - - public void setProfileApprovedBy(String profileApprovedBy) { - this.profileApprovedBy = profileApprovedBy; - } - - public String getProfileSetId() { - return profileSetId; - } - - public void setProfileSetId(String profileSetId) { - this.profileSetId = profileSetId; - } - - public String getProfileIsVisible() { - return profileIsVisible; - } - - public void setProfileIsVisible(String profileIsVisible) { - this.profileIsVisible = profileIsVisible; - } - - public String getProfileName() { - return profileName; - } - - public void setProfileName(String profileName) { - this.profileName = profileName; - } - - public String getProfileDescription() { - return profileDescription; - } - - public void setProfileDescription(String profileDescription) { - this.profileDescription = profileDescription; - } - - public String getProfileRemoteHost() { - return profileRemoteHost; - } - - public void setProfileRemoteHost(String profileRemoteHost) { - this.profileRemoteHost = profileRemoteHost; - } - - public String getProfileRemoteAddr() { - return profileRemoteAddr; - } - - public void setProfileRemoteAddr(String profileRemoteAddr) { - this.profileRemoteAddr = profileRemoteAddr; - } - - public String toString() { - try { - JAXBContext context = JAXBContext.newInstance(AgentEnrollmentRequestData.class); - Marshaller marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - - marshaller.marshal(this, stream); - return stream.toString(); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public List<ProfilePolicySet> getPolicySets() { - return policySets; - } - - public void setPolicySets(List<ProfilePolicySet> policySets) { - this.policySets = policySets; - } - - public void addProfilePolicySet(ProfilePolicySet policySet) { - policySets.add(policySet); - } - - public void removeProfilePolicySet(ProfilePolicySet policySet) { - policySets.remove(policySet); - } - - @Override - public HashMap<String,String> toParams() { - HashMap<String,String> ret = super.toParams(); - - if (requestId != null) ret.put("requestId", requestId.toString()); - if (requestNotes != null) ret.put("requestNotes", requestNotes); - if (nonce != null) ret.put("nonces", nonce); - if (requestType != null) ret.put("requestType", requestType); - - for (ProfilePolicySet policySet: policySets) { - for (ProfilePolicy policy: policySet.getPolicies()) { - PolicyDefault def = policy.getDef(); - List<ProfileAttribute> attrs = def.getAttributes(); - for (ProfileAttribute attr: attrs) { - ret.put(attr.getName(), attr.getValue()); - } - } - } - return ret; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/ArchivalRequestData.java b/base/common/src/com/netscape/cms/servlet/request/model/ArchivalRequestData.java deleted file mode 100644 index bcc51bf96..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/ArchivalRequestData.java +++ /dev/null @@ -1,123 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.request.model; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; - -/** - * @author alee - * - */ -@XmlRootElement(name="SecurityDataArchivalRequest") -@XmlAccessorType(XmlAccessType.FIELD) -public class ArchivalRequestData { - - private static final String CLIENT_ID = "clientID"; - private static final String TRANS_WRAPPED_SESSION_KEY = "transWrappedSessionKey"; - private static final String DATA_TYPE = "dataType"; - private static final String WRAPPED_PRIVATE_DATA = "wrappedPrivateData"; - - @XmlElement - protected String clientId; - - @XmlElement - protected String transWrappedSessionKey; - - @XmlElement - protected String dataType; - - @XmlElement - protected String wrappedPrivateData; - - public ArchivalRequestData() { - // required for JAXB (defaults) - } - - public ArchivalRequestData(MultivaluedMap<String, String> form) { - clientId = form.getFirst(CLIENT_ID); - transWrappedSessionKey = form.getFirst(TRANS_WRAPPED_SESSION_KEY); - dataType = form.getFirst(DATA_TYPE); - wrappedPrivateData = form.getFirst(WRAPPED_PRIVATE_DATA); - } - - /** - * @return the clientId - */ - public String getClientId() { - return clientId; - } - - /** - * @param clientId the clientId to set - */ - public void setClientId(String clientId) { - this.clientId = clientId; - } - - /** - * @return the transWrappedSessionKey - */ - public String getTransWrappedSessionKey() { - return transWrappedSessionKey; - } - - /** - * @param transWrappedSessionKey the transWrappedSessionKey to set - */ - public void setTransWrappedSessionKey(String transWrappedSessionKey) { - this.transWrappedSessionKey = transWrappedSessionKey; - } - - /** - * @return the dataType - */ - public String getDataType() { - return dataType; - } - - /** - * @param dataType the dataType to set - */ - public void setDataType(String dataType) { - this.dataType = dataType; - } - - /** - * @return the wrappedPrivateData - */ - public String getWrappedPrivateData() { - return wrappedPrivateData; - } - - /** - * @param wrappedPrivateData the wrappedPrivateData to set - */ - public void setWrappedPrivateData(String wrappedPrivateData) { - this.wrappedPrivateData = wrappedPrivateData; - } - - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestInfo.java b/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestInfo.java deleted file mode 100644 index f06334f6b..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestInfo.java +++ /dev/null @@ -1,91 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2012 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import com.netscape.certsrv.request.RequestId; -import com.netscape.certsrv.request.RequestStatus; -import com.netscape.certsrv.request.RequestStatusAdapter; -@XmlAccessorType(XmlAccessType.FIELD) -public class CMSRequestInfo { - - @XmlElement - protected String requestType; - - @XmlElement - @XmlJavaTypeAdapter(RequestStatusAdapter.class) - protected RequestStatus requestStatus; - - @XmlElement - protected String requestURL; - - /** - * @return the requestType - */ - public String getRequestType() { - return requestType; - } - - /** - * @param requestType the requestType to set - */ - public void setRequestType(String requestType) { - this.requestType = requestType; - } - - /** - * @return the requestStatus - */ - public RequestStatus getRequestStatus() { - return requestStatus; - } - - /** - * @param requestStatus the requestStatus to set - */ - public void setRequestStatus(RequestStatus requestStatus) { - this.requestStatus = requestStatus; - } - - /** - * @return the requestURL - */ - public String getRequestURL() { - return requestURL; - } - - /** - * @return the request ID in the requestURL - */ - public RequestId getRequestId() { - String id = requestURL.substring(requestURL.lastIndexOf("/") + 1); - return new RequestId(id); - } - - /** - * @param requestURL the requestURL to set - */ - public void setRequestURL(String requestURL) { - this.requestURL = requestURL; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestInfos.java b/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestInfos.java deleted file mode 100644 index 63b2e56b1..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/CMSRequestInfos.java +++ /dev/null @@ -1,59 +0,0 @@ -//--- BEGIN COPYRIGHT BLOCK --- -//This program is free software; you can redistribute it and/or modify -//it under the terms of the GNU General Public License as published by -//the Free Software Foundation; version 2 of the License. -// -//This program is distributed in the hope that it will be useful, -//but WITHOUT ANY WARRANTY; without even the implied warranty of -//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//GNU General Public License for more details. -// -//You should have received a copy of the GNU General Public License along -//with this program; if not, write to the Free Software Foundation, Inc., -//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//(C) 2011 Red Hat, Inc. -//All rights reserved. -//--- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; - -import java.util.Collection; -import java.util.List; - -import com.netscape.cms.servlet.base.model.Link; - -//Convenience class to simply hold a Collection of CMSRequests and a List of Links. -public class CMSRequestInfos { - - protected Collection<CMSRequestInfo> requests; - protected List<Link> links; - - /** - * @return the requests - */ - public Collection<CMSRequestInfo> getRequests() { - return requests; - } - - /** - * @param requests the requests to set - */ - public void setRequests(Collection<CMSRequestInfo> requests) { - this.requests = requests; - } - - /** - * @return the links - */ - public List<Link> getLinks() { - return links; - } - - /** - * @param links the links to set - */ - public void setLinks(List<Link> links) { - this.links = links; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfo.java b/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfo.java deleted file mode 100644 index 0754fe547..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfo.java +++ /dev/null @@ -1,84 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -package com.netscape.cms.servlet.request.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import com.netscape.certsrv.dbs.certdb.CertId; - -@XmlRootElement(name = "CertRequestInfo") -@XmlAccessorType(XmlAccessType.FIELD) -public class CertRequestInfo extends CMSRequestInfo { - - public static final String REQ_COMPLETE = "complete"; - - @XmlElement - protected String certURL; - - @XmlElement - protected String certRequestType; - - public CertRequestInfo() { - // required to be here for JAXB (defaults) - } - - /** - * @param certRequestType to set - */ - - public void setCertRequestType(String certRequestType) { - this.certRequestType = certRequestType; - } - - /** - * @return the certRequestType - */ - - public String getCertRequestType() { - return certRequestType; - } - - /** - * @set the certURL - */ - public void setCertURL(String certURL) { - this.certURL = certURL; - } - - /** - * @return the certURL - */ - public String getCertURL() { - return certURL; - } - - /** - * @return the certId - */ - - public CertId getCertId() { - if (certURL == null) return null; - String id = certURL.substring(certURL.lastIndexOf("/") + 1); - return new CertId(id); - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfos.java b/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfos.java deleted file mode 100644 index a4c39a33e..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/CertRequestInfos.java +++ /dev/null @@ -1,89 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; - -import java.util.Collection; -import java.util.List; - -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; - -import com.netscape.cms.servlet.base.model.Link; - -@XmlRootElement(name = "CertRequestInfos") -public class CertRequestInfos { - protected Collection<CertRequestInfo> requests; - protected List<Link> links; - - /** - * @return the requests - */ - @XmlElementRef - public Collection<CertRequestInfo> getRequests() { - return requests; - } - - /** - * @param requests the requests to set - */ - public void setRequests(Collection<CertRequestInfo> requests) { - this.requests = requests; - } - - /** - * @return the links - */ - @XmlElementRef - public List<Link> getLinks() { - return links; - } - - /** - * @param links the links to set - */ - public void setLinks(List<Link> links) { - this.links = links; - } - - @XmlTransient - public String getNext() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("next".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } - - @XmlTransient - public String getPrevious() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("previous".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/CertRetrievalRequestData.java b/base/common/src/com/netscape/cms/servlet/request/model/CertRetrievalRequestData.java deleted file mode 100644 index 72e437c17..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/CertRetrievalRequestData.java +++ /dev/null @@ -1,78 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.request.model; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import com.netscape.certsrv.dbs.certdb.CertId; -import com.netscape.certsrv.dbs.certdb.CertIdAdapter; -import com.netscape.certsrv.request.RequestId; -import com.netscape.certsrv.request.RequestIdAdapter; - -/** - * @author alee - * - */ -@XmlRootElement(name = "CertRetrievalRequest") -@XmlAccessorType(XmlAccessType.FIELD) -public class CertRetrievalRequestData { - - private static final String CERT_ID = "certId"; - - @XmlElement - @XmlJavaTypeAdapter(CertIdAdapter.class) - protected CertId certId; - - @XmlElement - @XmlJavaTypeAdapter(RequestIdAdapter.class) - protected RequestId requestId; - - public CertRetrievalRequestData() { - // required for JAXB (defaults) - } - - public CertRetrievalRequestData(MultivaluedMap<String, String> form) { - if (form.containsKey(CERT_ID)) { - certId = new CertId(form.getFirst(CERT_ID)); - } - } - - /** - * @return the CertId - */ - public CertId getCertId() { - return certId; - } - - /** - * @param CertId the CertId to set - */ - public void setCertId(CertId certId) { - this.certId = certId; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/EnrollmentRequestData.java b/base/common/src/com/netscape/cms/servlet/request/model/EnrollmentRequestData.java deleted file mode 100644 index caff0261d..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/EnrollmentRequestData.java +++ /dev/null @@ -1,321 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.request.model; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import com.netscape.cms.servlet.profile.model.ProfileInput; -import com.netscape.cms.servlet.profile.model.ProfileOutput; - -/** - * @author jmagne - * - */ - -@XmlRootElement(name = "EnrollmentRequest") -@XmlAccessorType(XmlAccessType.FIELD) -public class EnrollmentRequestData { - - private static final String PROFILE_ID = "profileId"; - private static final String RENEWAL = "renewal"; - private static final String SERIAL_NUM = "serial_num"; - - @XmlElement - protected String profileId; - - @XmlElement - protected boolean isRenewal; - - @XmlElement - protected String serialNum; // used for one type of renewal - - @XmlElement - protected String remoteHost; - - @XmlElement - protected String remoteAddr; - - @XmlElement(name = "Input") - protected List<ProfileInput> inputs = new ArrayList<ProfileInput>(); - - @XmlElement(name = "Output") - protected List<ProfileOutput> outputs = new ArrayList<ProfileOutput>(); - - public EnrollmentRequestData() { - // required for jaxb - } - - public EnrollmentRequestData(MultivaluedMap<String, String> form) { - profileId = form.getFirst(PROFILE_ID); - String renewalStr = form.getFirst(RENEWAL); - serialNum = form.getFirst(SERIAL_NUM); - isRenewal = new Boolean(renewalStr); - } - - /** - * @return the profileId - */ - public String getProfileId() { - return profileId; - } - - /** - * @param profileId the profileId to set - */ - - public void setProfileId(String profileId) { - this.profileId = profileId; - } - - /** - * @return renewal - */ - - public boolean getIsRenewal() { - return isRenewal; - } - - public void addInput(ProfileInput input) { - ProfileInput curInput = getInput(input.getInputId()); - if (curInput != null) { - getInputs().remove(curInput); - } - getInputs().add(input); - } - - public void deleteInput(ProfileInput input) { - ProfileInput curInput = getInput(input.getInputId()); - if (curInput != null) { - getInputs().remove(curInput); - } - } - - public ProfileInput createInput(String name) { - - ProfileInput oldInput = getInput(name); - - if (oldInput != null) - return oldInput; - - ProfileInput newInput = new ProfileInput(); - newInput.setInputId(name); - - getInputs().add(newInput); - - return newInput; - } - - public ProfileInput getInput(String name) { - - ProfileInput input = null; - - Iterator<ProfileInput> it = getInputs().iterator(); - - ProfileInput curInput = null; - while (it.hasNext()) { - curInput = it.next(); - if (curInput != null && curInput.getInputId().equals(name)) - break; - } - - return input; - } - - public void addOutput(ProfileOutput output) { - ProfileOutput curOutput = getOutput(output.getOutputId()); - if (curOutput != null) { - getOutputs().remove(curOutput); - } - getOutputs().add(output); - } - - public void deleteOutput(ProfileOutput output) { - ProfileOutput curOutput = getOutput(output.getOutputId()); - if (curOutput != null) { - getInputs().remove(curOutput); - } - } - - public ProfileOutput getOutput(String name) { - ProfileOutput output = null; - ProfileOutput curOutput = null; - - Iterator<ProfileOutput> it = getOutputs().iterator(); - while (it.hasNext()) { - curOutput = it.next(); - if (curOutput != null && curOutput.getOutputId().equals(name)) - break; - } - - return output; - } - - /** - * @param renewal the renewal to set - */ - public void setIsRenewal(boolean isRenewal) { - this.isRenewal = isRenewal; - } - - public HashMap<String, String> toParams() { - HashMap<String, String> ret = new HashMap<String, String>(); - ret.put("isRenewal", Boolean.valueOf(isRenewal).toString()); - if (profileId != null) ret.put(PROFILE_ID, profileId); - if (serialNum != null) ret.put(SERIAL_NUM, serialNum); - if (remoteHost != null) ret.put("remoteHost", remoteHost); - if (remoteAddr != null) ret.put("remoteAddr", remoteAddr); - - for (ProfileInput input: inputs) { - Map<String, String> attrs = input.getAttributes(); - for (Map.Entry<String, String> entry: attrs.entrySet()) { - ret.put(entry.getKey(), entry.getValue()); - } - } - - return ret; - } - - public static void main(String args[]) throws Exception { - EnrollmentRequestData data = new EnrollmentRequestData(); - data.setProfileId("caUserCert"); - data.setIsRenewal(false); - - //Simulate a "caUserCert" Profile enrollment - - ProfileInput certReq = data.createInput("KeyGenInput"); - certReq.setInputAttr("cert_request_type", "crmf"); - certReq.setInputAttr( - "cert_request", - "MIIBozCCAZ8wggEFAgQBMQp8MIHHgAECpQ4wDDEKMAgGA1UEAxMBeKaBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2NgaPHp0jiohcP4M+ufrJOZEqH8GV+liu5JLbT8nWpkfhC+8EUBqT6g+n3qroSxIcNVGNdcsBEqs1utvpItzyslAbpdyat3WwQep1dWMzo6RHrPDuIoxNA0Yka1n3qEX4U//08cLQtUv2bYglYgN/hOCNQemLV6vZWAv0n7zelkCAwEAAakQMA4GA1UdDwEB/wQEAwIF4DAzMBUGCSsGAQUFBwUBAQwIcmVnVG9rZW4wGgYJKwYBBQUHBQECDA1hdXRoZW50aWNhdG9yoYGTMA0GCSqGSIb3DQEBBQUAA4GBAJ1VOQcaSEhdHa94s8kifVbSZ2WZeYE5//qxL6wVlEst20vq4ybj13CetnbN3+WT49Zkwp7Fg+6lALKgSk47suTg3EbbQDm+8yOrC0nc/q4PTRoHl0alMmUxIhirYc1t3xoCMqJewmjX1bNP8lpVIZAYFZo4eZCpZaiSkM5BeHhz"); - - ProfileInput subjectName = data.createInput("SubjectNameInput"); - subjectName.setInputAttr("sn_uid", "jmagne"); - subjectName.setInputAttr("sn_e", "jmagne@redhat.com"); - subjectName.setInputAttr("sn_c", "US"); - subjectName.setInputAttr("sn_ou", "Development"); - subjectName.setInputAttr("sn_ou1", "IPA"); - subjectName.setInputAttr("sn_ou2", "Dogtag"); - subjectName.setInputAttr("sn_ou3", "CA"); - subjectName.setInputAttr("sn_cn", "Common"); - subjectName.setInputAttr("sn_o", "RedHat"); - - ProfileInput submitter = data.createInput("SubmitterInfoInput"); - submitter.setInputAttr("requestor_name", "admin"); - submitter.setInputAttr("requestor_email", "admin@redhat.com"); - submitter.setInputAttr("requestor_phone", "650-555-5555"); - - try { - JAXBContext context = JAXBContext.newInstance(EnrollmentRequestData.class); - Marshaller marshaller = context.createMarshaller(); - marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - - marshaller.marshal(data, stream); - - System.out.println("Originally marshalled enrollment object. \n"); - - System.out.println(stream.toString()); - - //Try to unmarshall - - Unmarshaller unmarshaller = context.createUnmarshaller(); - - ByteArrayInputStream bais = new ByteArrayInputStream(stream.toByteArray()); - Object unmarshalled = unmarshaller.unmarshal(bais); - - //Try re-marshalling, unmarshalled object to compare - - stream.reset(); - - marshaller.marshal(unmarshalled, stream); - - System.out.println("Remarshalled unmarshalled enrollment object. \n"); - - System.out.println(stream.toString()); - - } catch (JAXBException e) { - System.out.println(e.toString()); - } - } - - public String getSerialNum() { - return serialNum; - } - - public void setSerialNum(String serialNum) { - this.serialNum = serialNum; - } - - public List<ProfileInput> getInputs() { - return inputs; - } - - public void setInputs(List<ProfileInput> inputs) { - this.inputs = inputs; - } - - public String getRemoteAddr() { - return remoteAddr; - } - - public void setRemoteAddr(String remoteAddr) { - this.remoteAddr = remoteAddr; - } - - public String getRemoteHost() { - return remoteHost; - } - - public void setRemoteHost(String remoteHost) { - this.remoteHost = remoteHost; - } - - public List<ProfileOutput> getOutputs() { - return outputs; - } - - public void setOutputs(List<ProfileOutput> outputs) { - this.outputs = outputs; - } - - public void setRenewal(boolean isRenewal) { - this.isRenewal = isRenewal; - } - -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java b/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java deleted file mode 100644 index 91d5f8210..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfo.java +++ /dev/null @@ -1,60 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -package com.netscape.cms.servlet.request.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import com.netscape.certsrv.dbs.keydb.KeyId; - -@XmlRootElement(name = "SecurityDataRequestInfo") -@XmlAccessorType(XmlAccessType.FIELD) -public class KeyRequestInfo extends CMSRequestInfo { - - @XmlElement - protected String keyURL; - - public KeyRequestInfo() { - // required to be here for JAXB (defaults) - } - - /** - * @return the keyURL - */ - public String getKeyURL() { - return keyURL; - } - - /** - * @return the key ID in the keyURL - */ - public KeyId getKeyId() { - String id = keyURL.substring(keyURL.lastIndexOf("/") + 1); - return new KeyId(id); - } - - /** - * @param keyURL the keyURL to set - */ - public void setKeyURL(String keyURL) { - this.keyURL = keyURL; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfos.java b/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfos.java deleted file mode 100644 index dc1b6a5e4..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/KeyRequestInfos.java +++ /dev/null @@ -1,89 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.request.model; - -import java.util.Collection; -import java.util.List; - -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; - -import com.netscape.cms.servlet.base.model.Link; - -@XmlRootElement(name = "SecurityDataRequestInfos") -public class KeyRequestInfos { - protected Collection<KeyRequestInfo> requests; - protected List<Link> links; - - /** - * @return the requests - */ - @XmlElementRef - public Collection<KeyRequestInfo> getRequests() { - return requests; - } - - /** - * @param requests the requests to set - */ - public void setRequests(Collection<KeyRequestInfo> requests) { - this.requests = requests; - } - - /** - * @return the links - */ - @XmlElementRef - public List<Link> getLinks() { - return links; - } - - /** - * @param links the links to set - */ - public void setLinks(List<Link> links) { - this.links = links; - } - - @XmlTransient - public String getNext() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("next".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } - - @XmlTransient - public String getPrevious() { - if (links == null) { - return null; - } - for (Link link : links) { - if ("previous".equals(link.getRelationship())) { - return link.getHref(); - } - } - return null; - } -} diff --git a/base/common/src/com/netscape/cms/servlet/request/model/ProfileRetrievalRequestData.java b/base/common/src/com/netscape/cms/servlet/request/model/ProfileRetrievalRequestData.java deleted file mode 100644 index 7a0359587..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/ProfileRetrievalRequestData.java +++ /dev/null @@ -1,67 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.request.model; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author alee - * - */ -@XmlRootElement(name = "ProfileRetrievalRequest") -@XmlAccessorType(XmlAccessType.FIELD) -public class ProfileRetrievalRequestData { - - private static final String PROFILE_ID = "profileId"; - - @XmlElement - protected String profileId; - - public ProfileRetrievalRequestData() { - // required for JAXB (defaults) - } - - public ProfileRetrievalRequestData(MultivaluedMap<String, String> form) { - if (form.containsKey(PROFILE_ID)) { - profileId = form.getFirst(PROFILE_ID); - } - } - - /** - * @return the ProfileId - */ - public String getProfileId() { - return profileId; - } - - /** - * @param ProfileId the ProfileId to set - */ - public void setProfileId(String profileId) { - this.profileId = profileId; - } - -}
\ No newline at end of file diff --git a/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java b/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java deleted file mode 100644 index 335414792..000000000 --- a/base/common/src/com/netscape/cms/servlet/request/model/RecoveryRequestData.java +++ /dev/null @@ -1,155 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2011 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -/** - * - */ -package com.netscape.cms.servlet.request.model; - -import javax.ws.rs.core.MultivaluedMap; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import com.netscape.certsrv.dbs.keydb.KeyId; -import com.netscape.certsrv.dbs.keydb.KeyIdAdapter; -import com.netscape.certsrv.request.RequestId; -import com.netscape.certsrv.request.RequestIdAdapter; - -/** - * @author alee - * - */ -@XmlRootElement(name="SecurityDataRecoveryRequest") -@XmlAccessorType(XmlAccessType.FIELD) -public class RecoveryRequestData { - - private static final String KEY_ID = "keyId"; - private static final String REQUEST_ID = "requestId"; - private static final String TRANS_WRAPPED_SESSION_KEY = "transWrappedSessionKey"; - private static final String SESSION_WRAPPED_PASSPHRASE = "sessionWrappedPassphrase"; - private static final String NONCE_DATA = "nonceData"; - - @XmlElement - @XmlJavaTypeAdapter(KeyIdAdapter.class) - protected KeyId keyId; - - @XmlElement - @XmlJavaTypeAdapter(RequestIdAdapter.class) - protected RequestId requestId; - - @XmlElement - protected String transWrappedSessionKey; - - @XmlElement - protected String sessionWrappedPassphrase; - - @XmlElement - protected String nonceData; - - public RecoveryRequestData() { - // required for JAXB (defaults) - } - - public RecoveryRequestData(MultivaluedMap<String, String> form) { - if (form.containsKey(KEY_ID)) { - keyId = new KeyId(form.getFirst(KEY_ID)); - } - if (form.containsKey(REQUEST_ID)) { - requestId = new RequestId(form.getFirst(REQUEST_ID)); - } - transWrappedSessionKey = form.getFirst(TRANS_WRAPPED_SESSION_KEY); - sessionWrappedPassphrase = form.getFirst(SESSION_WRAPPED_PASSPHRASE); - nonceData = form.getFirst(NONCE_DATA); - } - - /** - * @return the keyId - */ - public KeyId getKeyId() { - return keyId; - } - - /** - * @param keyId the keyId to set - */ - public void setKeyId(KeyId keyId) { - this.keyId = keyId; - } - - /** - * @return the requestId - */ - public RequestId getRequestId() { - return requestId; - } - - /** - * @param requestId the requestId to set - */ - public void setRequestId(RequestId requestId) { - this.requestId = requestId; - } - - /** - * @return the transWrappedSessionKey - */ - public String getTransWrappedSessionKey() { - return transWrappedSessionKey; - } - - /** - * @param transWrappedSessionKey the transWrappedSessionKey to set - */ - public void setTransWrappedSessionKey(String transWrappedSessionKey) { - this.transWrappedSessionKey = transWrappedSessionKey; - } - - /** - * @return the sessionWrappedPassphrase - */ - public String getSessionWrappedPassphrase() { - return sessionWrappedPassphrase; - } - - /** - * @param sessionWrappedPassphrase the sessionWrappedPassphrase to set - */ - public void setSessionWrappedPassphrase(String sessionWrappedPassphrase) { - this.sessionWrappedPassphrase = sessionWrappedPassphrase; - } - - /** - * @return nonceData - */ - - public String getNonceData() { - return nonceData; - } - - /** - * @param nonceData the nonceData to set - */ - - public void setNonceData(String nonceData) { - this.nonceData = nonceData; - } - -} |