summaryrefslogtreecommitdiffstats
path: root/base/common/src/com
diff options
context:
space:
mode:
authorChristina Fu <cfu@redhat.com>2017-06-16 18:20:38 -0700
committerChristina Fu <cfu@redhat.com>2017-06-23 10:07:40 -0700
commit6273907e0ca36425fa30c106b7fdd28c510b1162 (patch)
tree7ae2422e843294320b6572bc4c23bf71bd036af0 /base/common/src/com
parent91079a946317f5c96c2778efaca814da67e0c3bf (diff)
downloadpki-6273907e0ca36425fa30c106b7fdd28c510b1162.tar.gz
pki-6273907e0ca36425fa30c106b7fdd28c510b1162.tar.xz
pki-6273907e0ca36425fa30c106b7fdd28c510b1162.zip
Ticket #2616 CMC: id-cmc-statusInfo ==> id-cmc-statusInfoV2
This patch contains the following update: * Structurely, CMCStatusInfo to CMCStatusInfoV2 update; no extendedFailInfo has been added at this point * In case of EncryptedPOP, instead of returning with CMCStatus pending where PendInfo contains the requestID, it now returns CMCStatus failed whith responseInfo control contains the requestID. On the client side, CMCRequest now processes the responseInfo and returns the DecryptedPOP with requestID in the regInfo control. CMCResponse has been updated to handle the new controls as well. * A number of fail info codes are now being supported by the server to add clarity to CMC failed status, including: badMessageCheck, badRequest, unsuportedExt, badIdentity, popRequired, and popFailed.
Diffstat (limited to 'base/common/src/com')
-rw-r--r--base/common/src/com/netscape/certsrv/profile/ECMCBadIdentityException.java54
-rw-r--r--base/common/src/com/netscape/certsrv/profile/ECMCBadMessageCheckException.java54
-rw-r--r--base/common/src/com/netscape/certsrv/profile/ECMCBadRequestException.java53
-rw-r--r--base/common/src/com/netscape/certsrv/profile/ECMCPopFailedException.java53
-rw-r--r--base/common/src/com/netscape/certsrv/profile/ECMCPopRequiredException.java59
-rw-r--r--base/common/src/com/netscape/certsrv/profile/ECMCUnsupportedExtException.java53
6 files changed, 326 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/certsrv/profile/ECMCBadIdentityException.java b/base/common/src/com/netscape/certsrv/profile/ECMCBadIdentityException.java
new file mode 100644
index 000000000..118a8eea5
--- /dev/null
+++ b/base/common/src/com/netscape/certsrv/profile/ECMCBadIdentityException.java
@@ -0,0 +1,54 @@
+// --- 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) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.certsrv.profile;
+
+/**
+ * This represents a profile specific exception for handling
+ * CMC badIdentity condition.
+ * The framework raises this exception when a request fails identity
+ * checks
+ * <p>
+ *
+ * @version $Revision$, $Date$
+ */
+public class ECMCBadIdentityException extends EProfileException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -89147145684990870L;
+
+ /**
+ * Creates an exception.
+ *
+ * @param msg localized message that will be
+ * displayed to end user.
+ */
+ public ECMCBadIdentityException(String msg) {
+ super(msg);
+ }
+
+ public ECMCBadIdentityException(Throwable cause) {
+ super(cause.getMessage(), cause);
+ }
+
+ public ECMCBadIdentityException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+}
diff --git a/base/common/src/com/netscape/certsrv/profile/ECMCBadMessageCheckException.java b/base/common/src/com/netscape/certsrv/profile/ECMCBadMessageCheckException.java
new file mode 100644
index 000000000..fb56eb445
--- /dev/null
+++ b/base/common/src/com/netscape/certsrv/profile/ECMCBadMessageCheckException.java
@@ -0,0 +1,54 @@
+// --- 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) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.certsrv.profile;
+
+/**
+ * This represents a profile specific exception for handling
+ * CMC badMessageCheck condition.
+ * The framework raises this exception when a request fails various
+ * checks
+ * <p>
+ *
+ * @version $Revision$, $Date$
+ */
+public class ECMCBadMessageCheckException extends EProfileException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1353005739159030604L;
+
+ /**
+ * Creates an exception.
+ *
+ * @param msg localized message that will be
+ * displayed to end user.
+ */
+ public ECMCBadMessageCheckException(String msg) {
+ super(msg);
+ }
+
+ public ECMCBadMessageCheckException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+ public ECMCBadMessageCheckException(Throwable cause) {
+ super(cause.getMessage(), cause);
+ }
+
+}
diff --git a/base/common/src/com/netscape/certsrv/profile/ECMCBadRequestException.java b/base/common/src/com/netscape/certsrv/profile/ECMCBadRequestException.java
new file mode 100644
index 000000000..dc4a1078f
--- /dev/null
+++ b/base/common/src/com/netscape/certsrv/profile/ECMCBadRequestException.java
@@ -0,0 +1,53 @@
+// --- 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) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.certsrv.profile;
+
+/**
+ * This represents a profile specific exception for handling
+ * CMC badRequest condition.
+ * The framework raises this exception when a request fails
+ * <p>
+ *
+ * @version $Revision$, $Date$
+ */
+public class ECMCBadRequestException extends EProfileException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -957171725482446695L;
+
+ /**
+ * Creates an exception.
+ *
+ * @param msg localized message that will be
+ * displayed to end user.
+ */
+ public ECMCBadRequestException(String msg) {
+ super(msg);
+ }
+
+ public ECMCBadRequestException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+ public ECMCBadRequestException(Throwable cause) {
+ super(cause.getMessage(), cause);
+ }
+
+}
diff --git a/base/common/src/com/netscape/certsrv/profile/ECMCPopFailedException.java b/base/common/src/com/netscape/certsrv/profile/ECMCPopFailedException.java
new file mode 100644
index 000000000..cc874347c
--- /dev/null
+++ b/base/common/src/com/netscape/certsrv/profile/ECMCPopFailedException.java
@@ -0,0 +1,53 @@
+// --- 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) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.certsrv.profile;
+
+/**
+ * This represents a profile specific exception for handling
+ * CMC popFailed condition.
+ * The framework raises this exception when a request fails POP
+ * (Proof Of Possession) check
+ * <p>
+ *
+ * @version $Revision$, $Date$
+ */
+public class ECMCPopFailedException extends EProfileException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3098694565652563197L;
+
+ /**
+ * Creates an exception.
+ *
+ * @param msg localized message that will be
+ * displayed to end user.
+ */
+ public ECMCPopFailedException(String msg) {
+ super(msg);
+ }
+
+ public ECMCPopFailedException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+ public ECMCPopFailedException(Throwable cause) {
+ super(cause.getMessage(), cause);
+ }
+}
diff --git a/base/common/src/com/netscape/certsrv/profile/ECMCPopRequiredException.java b/base/common/src/com/netscape/certsrv/profile/ECMCPopRequiredException.java
new file mode 100644
index 000000000..25a7bc039
--- /dev/null
+++ b/base/common/src/com/netscape/certsrv/profile/ECMCPopRequiredException.java
@@ -0,0 +1,59 @@
+// --- 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) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.certsrv.profile;
+
+/**
+ * This represents a profile specific exception for handling
+ * CMC popRequired condition.
+ * The framework raises this exception when a request is missing POP
+ * (Proof Of Possession)
+ * <p>
+ * A CMC request with missing POP will not be processed immediately.
+ * Round trip is required to return with CMC direct POP (DecryptedPOP)
+ * for processing the request again.
+ * <p>
+ *
+ * @version $Revision$, $Date$
+ */
+public class ECMCPopRequiredException extends EProfileException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 8328983412028345364L;
+
+ /**
+ * Creates a defer exception.
+ *
+ * @param msg localized message that will be
+ * displayed to end user. This message
+ * should indicate the reason why a request
+ * is deferred.
+ */
+ public ECMCPopRequiredException(String msg) {
+ super(msg);
+ }
+
+ public ECMCPopRequiredException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+ public ECMCPopRequiredException(Throwable cause) {
+ super(cause.getMessage(), cause);
+ }
+}
diff --git a/base/common/src/com/netscape/certsrv/profile/ECMCUnsupportedExtException.java b/base/common/src/com/netscape/certsrv/profile/ECMCUnsupportedExtException.java
new file mode 100644
index 000000000..b33c58afb
--- /dev/null
+++ b/base/common/src/com/netscape/certsrv/profile/ECMCUnsupportedExtException.java
@@ -0,0 +1,53 @@
+// --- 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) 2017 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.certsrv.profile;
+
+/**
+ * This represents a profile specific exception for handling
+ * CMC unsupportedExt condition.
+ * The framework raises this exception when a request contains extensions
+ * that's not supported
+ * <p>
+ *
+ * @version $Revision$, $Date$
+ */
+public class ECMCUnsupportedExtException extends EProfileException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -2065658791983639446L;
+
+ /**
+ * Creates an exception.
+ *
+ * @param msg localized message that will be
+ * displayed to end user.
+ */
+ public ECMCUnsupportedExtException(String msg) {
+ super(msg);
+ }
+
+ public ECMCUnsupportedExtException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+
+ public ECMCUnsupportedExtException(Throwable cause) {
+ super(cause.getMessage(), cause);
+ }
+}