java.security.cert
Class CertPathValidator

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.security.cert.CertPathValidator

public class CertPathValidator
extends Object sample code for java.lang.Object definition code for java.lang.Object

A class for validating certification paths (also known as certificate chains).

This class uses a provider-based architecture, as described in the Java Cryptography Architecture. To create a CertPathValidator, call one of the static getInstance methods, passing in the algorithm name of the CertPathValidator desired and optionally the name of the provider desired.

Once a CertPathValidator object has been created, it can be used to validate certification paths by calling the validate sample code for java.security.cert.CertPathValidator.validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) definition code for java.security.cert.CertPathValidator.validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) method and passing it the CertPath to be validated and an algorithm-specific set of parameters. If successful, the result is returned in an object that implements the CertPathValidatorResult interface.

Concurrent Access

The static methods of this class are guaranteed to be thread-safe. Multiple threads may concurrently invoke the static methods defined in this class with no ill effects.

However, this is not true for the non-static methods defined by this class. Unless otherwise documented by a specific provider, threads that need to access a single CertPathValidator instance concurrently should synchronize amongst themselves and provide the necessary locking. Multiple threads each manipulating a different CertPathValidator instance need not synchronize.

Since:
1.4
See Also:
CertPath sample code for java.security.cert.CertPath definition code for java.security.cert.CertPath

Constructor Summary
protected CertPathValidator sample code for java.security.cert.CertPathValidator.CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, java.lang.String) definition code for java.security.cert.CertPathValidator.CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, java.lang.String) (CertPathValidatorSpi sample code for java.security.cert.CertPathValidatorSpi definition code for java.security.cert.CertPathValidatorSpi  validatorSpi, Provider sample code for java.security.Provider definition code for java.security.Provider  provider, String sample code for java.lang.String definition code for java.lang.String  algorithm)
          Creates a CertPathValidator object of the given algorithm, and encapsulates the given provider implementation (SPI object) in it.
 
Method Summary
 String sample code for java.lang.String definition code for java.lang.String getAlgorithm sample code for java.security.cert.CertPathValidator.getAlgorithm() definition code for java.security.cert.CertPathValidator.getAlgorithm() ()
          Returns the algorithm name of this CertPathValidator.
static String sample code for java.lang.String definition code for java.lang.String getDefaultType sample code for java.security.cert.CertPathValidator.getDefaultType() definition code for java.security.cert.CertPathValidator.getDefaultType() ()
          Returns the default CertPathValidator type as specified in the Java security properties file, or the string "PKIX" if no such property exists.
static CertPathValidator sample code for java.security.cert.CertPathValidator definition code for java.security.cert.CertPathValidator getInstance sample code for java.security.cert.CertPathValidator.getInstance(java.lang.String) definition code for java.security.cert.CertPathValidator.getInstance(java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  algorithm)
          Returns a CertPathValidator object that implements the specified algorithm.
static CertPathValidator sample code for java.security.cert.CertPathValidator definition code for java.security.cert.CertPathValidator getInstance sample code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.security.Provider) definition code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.security.Provider) (String sample code for java.lang.String definition code for java.lang.String  algorithm, Provider sample code for java.security.Provider definition code for java.security.Provider  provider)
          Returns a CertPathValidator object that implements the specified algorithm, as supplied by the specified provider.
static CertPathValidator sample code for java.security.cert.CertPathValidator definition code for java.security.cert.CertPathValidator getInstance sample code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.lang.String) definition code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  algorithm, String sample code for java.lang.String definition code for java.lang.String  provider)
          Returns a CertPathValidator object that implements the specified algorithm, as supplied by the specified provider.
 Provider sample code for java.security.Provider definition code for java.security.Provider getProvider sample code for java.security.cert.CertPathValidator.getProvider() definition code for java.security.cert.CertPathValidator.getProvider() ()
          Returns the Provider of this CertPathValidator.
 CertPathValidatorResult sample code for java.security.cert.CertPathValidatorResult definition code for java.security.cert.CertPathValidatorResult validate sample code for java.security.cert.CertPathValidator.validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) definition code for java.security.cert.CertPathValidator.validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) (CertPath sample code for java.security.cert.CertPath definition code for java.security.cert.CertPath  certPath, CertPathParameters sample code for java.security.cert.CertPathParameters definition code for java.security.cert.CertPathParameters  params)
          Validates the specified certification path using the specified algorithm parameter set.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

CertPathValidator sample code for java.security.cert.CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, java.lang.String) definition code for java.security.cert.CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, java.lang.String)

protected CertPathValidator(CertPathValidatorSpi sample code for java.security.cert.CertPathValidatorSpi definition code for java.security.cert.CertPathValidatorSpi  validatorSpi,
                            Provider sample code for java.security.Provider definition code for java.security.Provider  provider,
                            String sample code for java.lang.String definition code for java.lang.String  algorithm)
Creates a CertPathValidator object of the given algorithm, and encapsulates the given provider implementation (SPI object) in it.

Parameters:
validatorSpi - the provider implementation
provider - the provider
algorithm - the algorithm name
Method Detail

getInstance sample code for java.security.cert.CertPathValidator.getInstance(java.lang.String) definition code for java.security.cert.CertPathValidator.getInstance(java.lang.String)

public static CertPathValidator sample code for java.security.cert.CertPathValidator definition code for java.security.cert.CertPathValidator  getInstance(String sample code for java.lang.String definition code for java.lang.String  algorithm)
                                     throws NoSuchAlgorithmException sample code for java.security.NoSuchAlgorithmException definition code for java.security.NoSuchAlgorithmException 
Returns a CertPathValidator object that implements the specified algorithm.

If the default provider package provides an implementation of the specified CertPathValidator algorithm, an instance of CertPathValidator containing that implementation is returned. If the requested algorithm is not available in the default package, other packages are searched.

Parameters:
algorithm - the name of the requested CertPathValidator algorithm
Returns:
a CertPathValidator object that implements the specified algorithm
Throws:
NoSuchAlgorithmException sample code for java.security.NoSuchAlgorithmException definition code for java.security.NoSuchAlgorithmException - if the requested algorithm is not available in the default provider package or any of the other provider packages that were searched

getInstance sample code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.lang.String) definition code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.lang.String)

public static CertPathValidator sample code for java.security.cert.CertPathValidator definition code for java.security.cert.CertPathValidator  getInstance(String sample code for java.lang.String definition code for java.lang.String  algorithm,
                                            String sample code for java.lang.String definition code for java.lang.String  provider)
                                     throws NoSuchAlgorithmException sample code for java.security.NoSuchAlgorithmException definition code for java.security.NoSuchAlgorithmException ,
                                            NoSuchProviderException sample code for java.security.NoSuchProviderException definition code for java.security.NoSuchProviderException 
Returns a CertPathValidator object that implements the specified algorithm, as supplied by the specified provider.

Parameters:
algorithm - the name of the requested CertPathValidator algorithm
provider - the name of the provider
Returns:
a CertPathValidator object that implements the specified algorithm, as supplied by the specified provider
Throws:
NoSuchAlgorithmException sample code for java.security.NoSuchAlgorithmException definition code for java.security.NoSuchAlgorithmException - if the requested algorithm is not available from the specified provider
NoSuchProviderException sample code for java.security.NoSuchProviderException definition code for java.security.NoSuchProviderException - if the provider has not been configured
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the provider is null

getInstance sample code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.security.Provider) definition code for java.security.cert.CertPathValidator.getInstance(java.lang.String, java.security.Provider)

public static CertPathValidator sample code for java.security.cert.CertPathValidator definition code for java.security.cert.CertPathValidator  getInstance(String sample code for java.lang.String definition code for java.lang.String  algorithm,
                                            Provider sample code for java.security.Provider definition code for java.security.Provider  provider)
                                     throws NoSuchAlgorithmException sample code for java.security.NoSuchAlgorithmException definition code for java.security.NoSuchAlgorithmException 
Returns a CertPathValidator object that implements the specified algorithm, as supplied by the specified provider. Note: the provider doesn't have to be registered.

Parameters:
algorithm - the name of the requested CertPathValidator algorithm
provider - the provider
Returns:
a CertPathValidator object that implements the specified algorithm, as supplied by the specified provider
Throws:
NoSuchAlgorithmException sample code for java.security.NoSuchAlgorithmException definition code for java.security.NoSuchAlgorithmException - if the requested algorithm is not available from the specified provider
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the provider is null

getProvider sample code for java.security.cert.CertPathValidator.getProvider() definition code for java.security.cert.CertPathValidator.getProvider()

public final Provider sample code for java.security.Provider definition code for java.security.Provider  getProvider()
Returns the Provider of this CertPathValidator.

Returns:
the Provider of this CertPathValidator

getAlgorithm sample code for java.security.cert.CertPathValidator.getAlgorithm() definition code for java.security.cert.CertPathValidator.getAlgorithm()

public final String sample code for java.lang.String definition code for java.lang.String  getAlgorithm()
Returns the algorithm name of this CertPathValidator.

Returns:
the algorithm name of this CertPathValidator

validate sample code for java.security.cert.CertPathValidator.validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) definition code for java.security.cert.CertPathValidator.validate(java.security.cert.CertPath, java.security.cert.CertPathParameters)

public final CertPathValidatorResult sample code for java.security.cert.CertPathValidatorResult definition code for java.security.cert.CertPathValidatorResult  validate(CertPath sample code for java.security.cert.CertPath definition code for java.security.cert.CertPath  certPath,
                                              CertPathParameters sample code for java.security.cert.CertPathParameters definition code for java.security.cert.CertPathParameters  params)
                                       throws CertPathValidatorException sample code for java.security.cert.CertPathValidatorException definition code for java.security.cert.CertPathValidatorException ,
                                              InvalidAlgorithmParameterException sample code for java.security.InvalidAlgorithmParameterException definition code for java.security.InvalidAlgorithmParameterException 
Validates the specified certification path using the specified algorithm parameter set.

The CertPath specified must be of a type that is supported by the validation algorithm, otherwise an InvalidAlgorithmParameterException will be thrown. For example, a CertPathValidator that implements the PKIX algorithm validates CertPath objects of type X.509.

Parameters:
certPath - the CertPath to be validated
params - the algorithm parameters
Returns:
the result of the validation algorithm
Throws:
CertPathValidatorException sample code for java.security.cert.CertPathValidatorException definition code for java.security.cert.CertPathValidatorException - if the CertPath does not validate
InvalidAlgorithmParameterException sample code for java.security.InvalidAlgorithmParameterException definition code for java.security.InvalidAlgorithmParameterException - if the specified parameters or the type of the specified CertPath are inappropriate for this CertPathValidator

getDefaultType sample code for java.security.cert.CertPathValidator.getDefaultType() definition code for java.security.cert.CertPathValidator.getDefaultType()

public static final String sample code for java.lang.String definition code for java.lang.String  getDefaultType()
Returns the default CertPathValidator type as specified in the Java security properties file, or the string "PKIX" if no such property exists. The Java security properties file is located in the file named <JAVA_HOME>/lib/security/java.security, where <JAVA_HOME> refers to the directory where the JDK was installed.

The default CertPathValidator type can be used by applications that do not want to use a hard-coded type when calling one of the getInstance methods, and want to provide a default type in case a user does not specify its own.

The default CertPathValidator type can be changed by setting the value of the "certpathvalidator.type" security property (in the Java security properties file) to the desired type.

Returns:
the default CertPathValidator type as specified in the Java security properties file, or the string "PKIX" if no such property exists.