All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.security.cert.CertPathValidatorException Maven / Gradle / Ivy

/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package java.security.cert;

import java.security.GeneralSecurityException;

/**
 * The exception that is thrown when a certification path (or certificate chain)
 * cannot be validated.
 * 

* A {@code CertPathValidatorException} may optionally include the certification * path instance that failed the validation and the index of the failed * certificate. */ public class CertPathValidatorException extends GeneralSecurityException { private static final long serialVersionUID = -3083180014971893139L; /** * the certification path. */ private CertPath certPath; /** * the index of the certificate. */ private int index = -1; /** * Creates a new {@code CertPathValidatorException} with the specified * message , cause, certification path and certificate index in the * certification path. * * @param msg * the detail message for this exception. * @param cause * the cause. * @param certPath * the certification path that failed the validation. * @param index * the index of the failed certificate. * @throws IllegalArgumentException * if {@code certPath} is {@code null} and index is not {@code * -1}. * @throws IndexOutOfBoundsException * if {@code certPath} is not {@code null} and index is not * referencing an certificate in the certification path. */ public CertPathValidatorException(String msg, Throwable cause, CertPath certPath, int index) { super(msg, cause); // check certPath and index parameters if ((certPath == null) && (index != -1)) { throw new IllegalArgumentException("Index should be -1 when CertPath is null"); } if ((certPath != null) && ((index < -1) || (index >= certPath.getCertificates().size()))) { throw new IndexOutOfBoundsException(); } this.certPath = certPath; this.index = index; } /** * Creates a new {@code CertPathValidatorException} with the specified * message and cause. * * @param msg * the detail message for this exception. * @param cause * the cause why the path could not be validated. */ public CertPathValidatorException(String msg, Throwable cause) { super(msg, cause); } /** * Creates a new {@code CertPathValidatorException} with the specified * cause. * * @param cause * the cause why the path could not be validated. */ public CertPathValidatorException(Throwable cause) { super(cause); } /** * Creates a new {@code CertPathValidatorException} with the specified * message. * * @param msg * the detail message for this exception. */ public CertPathValidatorException(String msg) { super(msg); } /** * Creates a new {@code CertPathValidatorException}. */ public CertPathValidatorException() { } /** * Returns the certification path that failed validation. * * @return the certification path that failed validation, or {@code null} if * none was specified. */ public CertPath getCertPath() { return certPath; } /** * Returns the index of the failed certificate in the certification path. * * @return the index of the failed certificate in the certification path, or * {@code -1} if none was specified. */ public int getIndex() { return index; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy