CertPathBuilderSpi (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.security.cert, class: CertPathBuilderSpi
Keywords: java.security.cert.CertPathBuilderSpi class

# Class CertPathBuilderSpi

java.lang.Object
java.security.cert.CertPathBuilderSpi

public abstract class CertPathBuilderSpi extends Object
The Service Provider Interface (SPI) for the `CertPathBuilder` class. All `CertPathBuilder` implementations must include a class (the SPI class) that extends this class (`CertPathBuilderSpi`) and implements all of its methods. In general, instances of this class should only be accessed through the `CertPathBuilder` class. For details, see the Java Cryptography Architecture.

Concurrent Access

Instances of this class need not be protected against concurrent access from multiple threads. Threads that need to access a single `CertPathBuilderSpi` instance concurrently should synchronize amongst themselves and provide the necessary locking before calling the wrapping `CertPathBuilder` object.

However, implementations of `CertPathBuilderSpi` may still encounter concurrency issues, since multiple threads each manipulating a different `CertPathBuilderSpi` instance need not synchronize.

Since:
  1.4

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CertPathBuilderSpi()`
  The default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract CertPathBuilderResult`
  `engineBuild(CertPathParameters params)`
  Attempts to build a certification path using the specified algorithm parameter set.
  `CertPathChecker`
  `engineGetRevocationChecker()`
  Returns a `CertPathChecker` that this implementation uses to check the revocation status of certificates.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### CertPathBuilderSpi

    public CertPathBuilderSpi()
    The default constructor.

- ## Method Details

  - ### engineBuild

    public abstract CertPathBuilderResult engineBuild(CertPathParameters params) throws CertPathBuilderException, InvalidAlgorithmParameterException
    Attempts to build a certification path using the specified algorithm parameter set.
    Parameters:
      `params` - the algorithm parameters
    Returns:
      the result of the build algorithm
    Throws:
      `CertPathBuilderException` - if the builder is unable to construct a certification path that satisfies the specified parameters
      `InvalidAlgorithmParameterException` - if the specified parameters are inappropriate for this `CertPathBuilder`

  - ### engineGetRevocationChecker

    public CertPathChecker engineGetRevocationChecker()
    Returns a `CertPathChecker` that this implementation uses to check the revocation status of certificates. A PKIX implementation returns objects of type `PKIXRevocationChecker`.

    The primary purpose of this method is to allow callers to specify additional input parameters and options specific to revocation checking. See the class description of `CertPathBuilder` for an example.

    This method was added to version 1.8 of the Java Platform Standard Edition. In order to maintain backwards compatibility with existing service providers, this method cannot be abstract and by default throws an `UnsupportedOperationException`.

    Returns:
      a `CertPathChecker` that this implementation uses to check the revocation status of certificates
    Throws:
      `UnsupportedOperationException` - if this method is not supported
    Since:
      1.8