aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/security/cert/CertPathValidatorException.java
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@waitaki.otago.ac.nz>2002-05-24 11:57:40 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2002-05-24 12:57:40 +0100
commitd2f108e266cd19172d664d433e772420e88d1504 (patch)
tree187144ec8bafd5099db53104f17f94e9a6db61c3 /libjava/java/security/cert/CertPathValidatorException.java
parent4fbecd29448860f20975d7aceecc14e843ef0eec (diff)
downloadgcc-d2f108e266cd19172d664d433e772420e88d1504.zip
gcc-d2f108e266cd19172d664d433e772420e88d1504.tar.gz
gcc-d2f108e266cd19172d664d433e772420e88d1504.tar.bz2
Merge JDK 1.4 java.security changes from classpath.
* java/security/AccessControlException.java: Merge from Classpath. * java/security/AccessController.java: Likewise. * java/security/AllPermission.java: Likewise. * java/security/BasicPermission.java: Likewise. * java/security/Certificate.java: Likewise. * java/security/CodeSource.java: Likewise. * java/security/DigestException.java: Likewise. * java/security/DigestOutputStream.java: Likewise. * java/security/DomainCombiner.java: Likewise. * java/security/GeneralSecurityException.java: Likewise. * java/security/Guard.java: Likewise. * java/security/GuardedObject.java: Likewise. * java/security/InvalidAlgorithmParameterException.java: Likewise. * java/security/InvalidKeyException.java: Likewise. * java/security/InvalidParameterException.java: Likewise. * java/security/Key.java: Likewise. * java/security/KeyException.java: Likewise. * java/security/KeyManagementException.java: Likewise. * java/security/KeyStoreException.java: Likewise. * java/security/MessageDigest.java: Likewise. * java/security/NoSuchAlgorithmException.java: Likewise. * java/security/NoSuchProviderException.java: Likewise. * java/security/Permission.java: Likewise. * java/security/PermissionCollection.java: Likewise. * java/security/Permissions.java: Likewise. * java/security/Policy.java: Likewise. * java/security/Principal.java: Likewise. * java/security/PrivateKey.java: Likewise. * java/security/PrivilegedAction.java: Likewise. * java/security/PrivilegedActionException.java: Likewise. * java/security/PrivilegedExceptionAction.java: Likewise. * java/security/ProtectionDomain.java: Likewise. * java/security/ProviderException.java: Likewise. * java/security/PublicKey.java: Likewise. * java/security/SecureClassLoader.java: Likewise. * java/security/SecurityPermission.java: Likewise. * java/security/SignatureException.java: Likewise. * java/security/UnrecoverableKeyException.java: Likewise. * java/security/UnresolvedPermission.java: Likewise. * java/security/acl/AclNotFoundException.java: Likewise. * java/security/acl/LastOwnerException.java: Likewise. * java/security/acl/NotOwnerException.java: Likewise. * java/security/cert/CRLException.java: Likewise. * java/security/cert/CertificateEncodingException.java: Likewise. * java/security/cert/CertificateException.java: Likewise. * java/security/cert/CertificateExpiredException.java: Likewise. * java/security/cert/CertificateFactory.java: Likewise. * java/security/cert/CertificateNotYetValidException.java: Likewise. * java/security/cert/CertificateParsingException.java: Likewise. * java/security/spec/InvalidKeySpecException.java: Likewise. * java/security/spec/InvalidParameterSpecException.java: Likewise. * java/security/cert/CertPath.java: New file. * java/security/cert/CertPathBuilderException.java: New file. * java/security/cert/CertPathValidatorException.java: New file. * java/security/cert/CertStoreException.java: New file. * Makefile.am: Add new CertPath classes. * Makefile.in: Rebuilt. * gnu/java/util/EmptyEnumeration: New file from classpath. From-SVN: r53837
Diffstat (limited to 'libjava/java/security/cert/CertPathValidatorException.java')
-rw-r--r--libjava/java/security/cert/CertPathValidatorException.java226
1 files changed, 226 insertions, 0 deletions
diff --git a/libjava/java/security/cert/CertPathValidatorException.java b/libjava/java/security/cert/CertPathValidatorException.java
new file mode 100644
index 0000000..e7b40b8
--- /dev/null
+++ b/libjava/java/security/cert/CertPathValidatorException.java
@@ -0,0 +1,226 @@
+/* CertPathValidatorException.java -- wraps an exception during validation
+ of a CertPath
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.security.cert;
+
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.security.GeneralSecurityException;
+
+/**
+ * Indicates a problem while validating a certification path. In addition,
+ * it can store the path an index in that path that caused the problem. This
+ * class is not thread-safe.
+ *
+ * @author Eric Blake <ebb9@email.byu.edu>
+ * @see CertPathValidator
+ * @since 1.4
+ * @status updated to 1.4
+*/
+public class CertPathValidatorException extends GeneralSecurityException
+{
+ /**
+ * Compatible with JDK 1.4+.
+ */
+ private static final long serialVersionUID = -3083180014971893139L;
+
+ /**
+ * The index of the certificate path that failed, or -1.
+ *
+ * @serial the failed index
+ */
+ private final int index;
+
+ /**
+ * The <code>CertPath</code> that failed.
+ *
+ * @serial the object being validated at time of failure
+ */
+ private final CertPath certPath;
+
+ /**
+ * Create an exception without a message. The cause may be initialized. The
+ * index is set to -1 and the failed CertPath object to null.
+ */
+ public CertPathValidatorException()
+ {
+ this((String) null);
+ }
+
+ /**
+ * Create an exception with a message. The cause may be initialized. The
+ * index is set to -1 and the failed CertPath object to null.
+ *
+ * @param msg a message to display with exception
+ */
+ public CertPathValidatorException(String msg)
+ {
+ super(msg);
+ index = -1;
+ certPath = null;
+ }
+
+ /**
+ * Create an exception with a cause. The message will be
+ * <code>cause == null ? null : cause.toString()</code>. The index is set
+ * to -1 and the failed CertPath object to null.
+ *
+ * @param cause the cause
+ */
+ public CertPathValidatorException(Throwable cause)
+ {
+ this(cause == null ? null : cause.toString(), cause, null, -1);
+ }
+
+ /**
+ * Create an exception with a cause and a message. The index is set to -1
+ * and the failed CertPath object to null.
+ *
+ * @param msg the message
+ * @param cause the cause
+ */
+ public CertPathValidatorException(String msg, Throwable cause)
+ {
+ this(msg, cause, null, -1);
+ }
+
+ /**
+ * Create an exception with a cause, message, failed object, and index of
+ * failure in that CertPath.
+ *
+ * @param msg the message
+ * @param cause the cause
+ * @param certPath the path that was being validated, or null
+ * @param index the index of the path, or -1
+ * @throws IndexOutOfBoundsException if index is &lt; -1 or
+ * &gt; certPath.getCertificates().size()
+ * @throws IllegalArgumentException if certPath is null but index != -1
+ */
+ public CertPathValidatorException(String msg, Throwable cause,
+ CertPath certPath, int index)
+ {
+ super(msg);
+ initCause(cause);
+ if (index < -1 || (certPath != null
+ && index >= certPath.getCertificates().size()))
+ throw new IndexOutOfBoundsException();
+ if ((certPath == null) != (index == -1))
+ throw new IllegalArgumentException();
+ this.certPath = certPath;
+ this.index = index;
+ }
+
+ /**
+ * Get the detail message.
+ *
+ * @return the detail message
+ */
+ public String getMessage()
+ {
+ return super.getMessage();
+ }
+
+ /**
+ * Get the certificate path that had the failure, or null.
+ *
+ * @return the culprit path
+ */
+ public CertPath getCertPath()
+ {
+ return certPath;
+ }
+
+ /**
+ * Get the index that failed, or -1.
+ *
+ * @return the colprit index
+ */
+ public int getIndex()
+ {
+ return index;
+ }
+
+ /**
+ * Get the cause, null if unknown.
+ *
+ * @return the cause
+ */
+ public Throwable getCause()
+ {
+ return super.getCause();
+ }
+
+ /**
+ * Convert this to a string, including its cause.
+ *
+ * @return the string conversion
+ */
+ public String toString()
+ {
+ return super.toString();
+ }
+
+ /**
+ * Print the stack trace to <code>System.err</code>.
+ */
+ public void printStackTrace()
+ {
+ super.printStackTrace();
+ }
+
+ /**
+ * Print the stack trace to a stream.
+ *
+ * @param stream the stream
+ */
+ public void printStackTrace(PrintStream stream)
+ {
+ super.printStackTrace(stream);
+ }
+
+ /**
+ * Print the stack trace to a stream.
+ *
+ * @param stream the stream
+ */
+ public void printStackTrace(PrintWriter stream)
+ {
+ super.printStackTrace(stream);
+ }
+}