FileDocCategorySizeDatePackage
CertPathValidator.javaAPI DocAndroid 1.5 API8666Wed May 06 22:41:06 BST 2009java.security.cert

CertPathValidator

public class CertPathValidator extends Object
This class provides the functionality for validating certification paths (certificate chains) establishing a trust chain from a certificate to a trust anchor.
since
Android 1.0

Fields Summary
private static final String
SERVICE
private static org.apache.harmony.security.fortress.Engine
engine
private static final String
PROPERTYNAME
private static final String
DEFAULTPROPERTY
private final Provider
provider
private final CertPathValidatorSpi
spiImpl
private final String
algorithm
Constructors Summary
protected CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)
Creates a new {@code CertPathValidator} instance.

param
validatorSpi the implementation delegate.
param
provider the security provider.
param
algorithm the name of the algorithm.
since
Android 1.0


                                                                     
      
                
        this.provider = provider;
        this.algorithm = algorithm;
        this.spiImpl = validatorSpi;
    
Methods Summary
public final java.lang.StringgetAlgorithm()
Returns the certification path algorithm name.

return
the certification path algorithm name.
since
Android 1.0

        return algorithm;
    
public static final java.lang.StringgetDefaultType()
Returns the default {@code CertPathValidator} type from the Security Properties.

return
the default {@code CertPathValidator} type from the Security Properties, or the string {@code "PKIX"} if it cannot be determined.
since
Android 1.0

        String defaultType = AccessController
                .doPrivileged(new java.security.PrivilegedAction<String>() {
                    public String run() {
                        return Security.getProperty(PROPERTYNAME);
                    }
                });
        return (defaultType != null ? defaultType : DEFAULTPROPERTY);
    
public static java.security.cert.CertPathValidatorgetInstance(java.lang.String algorithm)
Returns a new certification path validator for the specified algorithm.

param
algorithm the algorithm name.
return
a certification path validator for the requested algorithm.
throws
NoSuchAlgorithmException if no installed provider provides the specified algorithm.
throws
NullPointerException if algorithm is {@code null}.
since
Android 1.0

        if (algorithm == null) {
            throw new NullPointerException(Messages.getString("security.01")); //$NON-NLS-1$
        }
        synchronized (engine) {
            engine.getInstance(algorithm, null);
            return new CertPathValidator((CertPathValidatorSpi) engine.spi,
                    engine.provider, algorithm);
        }
    
public static java.security.cert.CertPathValidatorgetInstance(java.lang.String algorithm, java.lang.String provider)
Returns a new certification path validator for the specified algorithm from the specified provider.

param
algorithm the algorithm name.
param
provider the security provider name.
return
a certification path validator for the requested algorithm.
throws
NoSuchAlgorithmException if the specified security provider cannot provide the requested algorithm.
throws
NoSuchProviderException if no provider with the specified name can be found.
throws
NullPointerException if algorithm is {@code null}.
throws
IllegalArgumentException if provider is {@code null} or empty.
since
Android 1.0

        if ((provider == null) || (provider.length() == 0)) {
            throw new IllegalArgumentException(Messages.getString("security.02")); //$NON-NLS-1$
        }
        Provider impProvider = Security.getProvider(provider);
        if (impProvider == null) {
            throw new NoSuchProviderException(provider);
        }
        return getInstance(algorithm, impProvider);
    
public static java.security.cert.CertPathValidatorgetInstance(java.lang.String algorithm, java.security.Provider provider)
Returns a new certification path validator for the specified algorithm from the specified provider.

param
algorithm the algorithm name.
param
provider the security provider name.
return
a certification path validator for the requested algorithm.
throws
NoSuchAlgorithmException if the specified provider cannot provide the requested algorithm.
throws
IllegalArgumentException if provider is {@code null}.
throws
NullPointerException if algorithm is {@code null}.
since
Android 1.0

        if (provider == null) {
            throw new IllegalArgumentException(Messages.getString("security.04")); //$NON-NLS-1$
        }
        if (algorithm == null) {
            throw new NullPointerException(Messages.getString("security.01")); //$NON-NLS-1$
        }
        synchronized (engine) {
            engine.getInstance(algorithm, provider, null);
            return new CertPathValidator((CertPathValidatorSpi) engine.spi,
                    provider, algorithm);
        }
    
public final java.security.ProvidergetProvider()
Returns the security provider.

return
the provider.
since
Android 1.0

        return provider;
    
public final java.security.cert.CertPathValidatorResultvalidate(java.security.cert.CertPath certPath, java.security.cert.CertPathParameters params)
Validates the {@code CertPath} with the algorithm of this {@code CertPathValidator} using the specified algorithm parameters.

param
certPath the certification path to be validated.
param
params the certification path validator algorithm parameters.
return
the validation result.
throws
CertPathValidatorException if the validation fails, or the algorithm of the specified certification path cannot be validated using the algorithm of this instance.
throws
InvalidAlgorithmParameterException if the specified algorithm parameters cannot be used with this algorithm.
see
CertPathValidatorResult
since
Android 1.0

        return spiImpl.engineValidate(certPath, params);