diff options
| author | Andrew Haley <aph@redhat.com> | 2016-09-30 16:24:48 +0000 |
|---|---|---|
| committer | Andrew Haley <aph@gcc.gnu.org> | 2016-09-30 16:24:48 +0000 |
| commit | 07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch) | |
| tree | 3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/java/security/cert/CertPathValidator.java | |
| parent | eae993948bae8b788c53772bcb9217c063716f93 (diff) | |
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com>
* Makefile.def: Remove libjava.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
* configure.ac: Likewise.
* configure: Likewise.
* gcc/java: Remove.
* libjava: Likewise.
From-SVN: r240662
Diffstat (limited to 'libjava/classpath/java/security/cert/CertPathValidator.java')
| -rw-r--r-- | libjava/classpath/java/security/cert/CertPathValidator.java | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/libjava/classpath/java/security/cert/CertPathValidator.java b/libjava/classpath/java/security/cert/CertPathValidator.java deleted file mode 100644 index 8bd7b58e8fb..00000000000 --- a/libjava/classpath/java/security/cert/CertPathValidator.java +++ /dev/null @@ -1,264 +0,0 @@ -/* CertPathValidator -- validates certificate paths. - Copyright (C) 2003, 2004 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., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 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 gnu.java.lang.CPStringBuilder; - -import gnu.java.security.Engine; - -import java.lang.reflect.InvocationTargetException; -import java.security.AccessController; -import java.security.InvalidAlgorithmParameterException; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.PrivilegedAction; -import java.security.Provider; -import java.security.Security; - -/** - * Generic interface to classes that validate certificate paths. - * - * <p>Using this class is similar to all the provider-based security - * classes; the method of interest, {@link - * #validate(java.security.cert.CertPath,java.security.cert.CertPathParameters)}, - * which takes provider-specific implementations of {@link - * CertPathParameters}, and return provider-specific implementations of - * {@link CertPathValidatorResult}. - * - * @since JDK 1.4 - * @see CertPath - */ -public class CertPathValidator { - - // Constants and fields. - // ------------------------------------------------------------------------ - - /** Service name for CertPathValidator. */ - private static final String CERT_PATH_VALIDATOR = "CertPathValidator"; - - /** The underlying implementation. */ - private final CertPathValidatorSpi validatorSpi; - - /** The provider of this implementation. */ - private final Provider provider; - - /** The algorithm's name. */ - private final String algorithm; - - // Constructor. - // ------------------------------------------------------------------------ - - /** - * Creates a new CertPathValidator. - * - * @param validatorSpi The underlying implementation. - * @param provider The provider of the implementation. - * @param algorithm The algorithm name. - */ - protected CertPathValidator(CertPathValidatorSpi validatorSpi, - Provider provider, String algorithm) - { - this.validatorSpi = validatorSpi; - this.provider = provider; - this.algorithm = algorithm; - } - - // Class methods. - // ------------------------------------------------------------------------ - - /** - * Returns the default validator type. - * - * <p>This value may be set at run-time via the security property - * "certpathvalidator.type", or the value "PKIX" if this property is - * not set. - * - * @return The default validator type. - */ - public static synchronized String getDefaultType() { - String type = (String) AccessController.doPrivileged( - new PrivilegedAction() - { - public Object run() - { - return Security.getProperty("certpathvalidator.type"); - } - } - ); - if (type == null) - type = "PKIX"; - return type; - } - - /** - * Returns an instance of the given validator from the first provider that - * implements it. - * - * @param algorithm The name of the algorithm to get. - * @return The new instance. - * @throws NoSuchAlgorithmException If no installed provider implements the - * requested algorithm. - * @throws IllegalArgumentException if <code>algorithm</code> is - * <code>null</code> or is an empty string. - */ - public static CertPathValidator getInstance(String algorithm) - throws NoSuchAlgorithmException - { - Provider[] p = Security.getProviders(); - NoSuchAlgorithmException lastException = null; - for (int i = 0; i < p.length; i++) - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException x) - { - lastException = x; - } - if (lastException != null) - throw lastException; - throw new NoSuchAlgorithmException(algorithm); - } - - /** - * Returns an instance of the given validator from the named provider. - * - * @param algorithm The name of the algorithm to get. - * @param provider The name of the provider from which to get the - * implementation. - * @return The new instance. - * @throws NoSuchAlgorithmException If the named provider does not implement - * the algorithm. - * @throws NoSuchProviderException If no provider named <i>provider</i> is - * installed. - * @throws IllegalArgumentException if either <code>algorithm</code> or - * <code>provider</code> is <code>null</code>, or if - * <code>algorithm</code> is an empty string. - */ - public static CertPathValidator getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException - { - if (provider == null) - throw new IllegalArgumentException("provider MUST NOT be null"); - Provider p = Security.getProvider(provider); - if (p == null) - throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); - } - - /** - * Returns an instance of the given validator from the given provider. - * - * @param algorithm The name of the algorithm to get. - * @param provider The provider from which to get the implementation. - * @return The new instance. - * @throws NoSuchAlgorithmException If the provider does not implement the - * algorithm. - * @throws IllegalArgumentException if either <code>algorithm</code> or - * <code>provider</code> is <code>null</code>, or if - * <code>algorithm</code> is an empty string. - */ - public static CertPathValidator getInstance(String algorithm, - Provider provider) - throws NoSuchAlgorithmException - { - CPStringBuilder sb = new CPStringBuilder("CertPathValidator for algorithm [") - .append(algorithm).append("] from provider[") - .append(provider).append("] could not be created"); - Throwable cause; - try - { - Object spi = Engine.getInstance(CERT_PATH_VALIDATOR, algorithm, provider); - return new CertPathValidator((CertPathValidatorSpi) spi, provider, algorithm); - } - catch (InvocationTargetException x) - { - cause = x.getCause(); - if (cause instanceof NoSuchAlgorithmException) - throw (NoSuchAlgorithmException) cause; - if (cause == null) - cause = x; - } - catch (ClassCastException x) - { - cause = x; - } - NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); - x.initCause(cause); - throw x; - } - - /** - * Return the name of this validator. - * - * @return This validator's name. - */ - public final String getAlgorithm() - { - return algorithm; - } - - /** - * Return the provider of this implementation. - * - * @return The provider. - */ - public final Provider getProvider() - { - return provider; - } - - /** - * Attempt to validate a certificate path. - * - * @param certPath The path to validate. - * @param params The algorithm-specific parameters. - * @return The result of this validation attempt. - * @throws CertPathValidatorException If the certificate path cannot - * be validated. - * @throws InvalidAlgorithmParameterException If this implementation - * rejects the specified parameters. - */ - public final CertPathValidatorResult validate(CertPath certPath, - CertPathParameters params) - throws CertPathValidatorException, InvalidAlgorithmParameterException - { - return validatorSpi.engineValidate(certPath, params); - } -} |
