CertPathChecker (Java SE 23 & JDK 23)
Description: declaration: module: java.base, package: java.security.cert, interface: CertPathChecker
Keywords: java.security.cert.CertPathChecker interface

# Interface CertPathChecker

All Known Implementing Classes:
  `PKIXCertPathChecker`, `PKIXRevocationChecker`

public interface CertPathChecker

Performs one or more checks on each `Certificate` of a `CertPath`.

A `CertPathChecker` implementation is typically created to extend a certification path validation algorithm. For example, an implementation may check for and process a critical private extension of each certificate in a certification path.

Since:
  1.8

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `check(Certificate cert)`
  Performs the check(s) on the specified certificate using its internal state.
  `void`
  `init(boolean forward)`
  Initializes the internal state of this `CertPathChecker`.
  `boolean`
  `isForwardCheckingSupported()`
  Indicates if forward checking is supported.

- ## Method Details

  - ### init

    void init(boolean forward) throws CertPathValidatorException
    Initializes the internal state of this `CertPathChecker`.

    The `forward` flag specifies the order that certificates will be passed to the `check` method (forward or reverse).

    Parameters:
      `forward` - the order that certificates are presented to the `check` method. If `true`, certificates are presented from target to trust anchor (forward); if `false`, from trust anchor to target (reverse).
    Throws:
      `CertPathValidatorException` - if this `CertPathChecker` is unable to check certificates in the specified order

  - ### isForwardCheckingSupported

    boolean isForwardCheckingSupported()
    Indicates if forward checking is supported. Forward checking refers to the ability of the `CertPathChecker` to perform its checks when certificates are presented to the `check` method in the forward direction (from target to trust anchor).
    Returns:
      `true` if forward checking is supported, `false` otherwise

  - ### check

    void check(Certificate cert) throws CertPathValidatorException
    Performs the check(s) on the specified certificate using its internal state. The certificates are presented in the order specified by the `init` method.
    Parameters:
      `cert` - the `Certificate` to be checked
    Throws:
      `CertPathValidatorException` - if the specified certificate does not pass the check