Package org.apache.synapse.transport.certificatevalidation.pathvalidation

## Class PathChecker

- java.lang.Object
- - java.security.cert.PKIXCertPathChecker
  - - org.apache.synapse.transport.certificatevalidation.pathvalidation.PathChecker

- All Implemented Interfaces:
    `Cloneable`, `CertPathChecker`

      public class PathChecker
      extends PKIXCertPathChecker

  This class is used by CertificatePathValidator to check revocation status of the certificate chain. Certificates in the chain will be passed to the check(..,..) method one by one. This is not Thread safe since the process is state full. Should not be shared among threads.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `PathChecker​(X509Certificate[] certChainArray, RevocationVerifier verifier)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `check​(Certificate cert, Collection<String> unresolvedCritExts)` | Used by CertPathValidator to pass the certificates one by one from the certificate chain.
    `Set<String>` | `getSupportedExtensions()` |
    `void` | `init​(boolean forward)` |
    `boolean` | `isForwardCheckingSupported()` | Forward checking is not supported.

    - ### Methods inherited from class java.security.cert.PKIXCertPathChecker

      `check, clone`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PathChecker

          protected PathChecker​(X509Certificate[] certChainArray,
                                RevocationVerifier verifier)

  - ### Method Detail

    - #### init

          public void init​(boolean forward)
                    throws CertPathValidatorException

      Specified by:
        `init` in interface `CertPathChecker`
      Specified by:
        `init` in class `PKIXCertPathChecker`
      Throws:
        `CertPathValidatorException`

    - #### isForwardCheckingSupported

          public boolean isForwardCheckingSupported()

      Forward checking is not supported. Certificates should be passed from the most trusted CA certificate to the target certificate. This is the default implementation of the Path validator used CertPathValidator.getInstance("PKIX", "BC") in CertificatePathValidator;
      Specified by:
        `isForwardCheckingSupported` in interface `CertPathChecker`
      Specified by:
        `isForwardCheckingSupported` in class `PKIXCertPathChecker`

    - #### getSupportedExtensions

          public Set<String> getSupportedExtensions()

      Specified by:
        `getSupportedExtensions` in class `PKIXCertPathChecker`

    - #### check

          public void check​(Certificate cert,
                            Collection<String> unresolvedCritExts)
                     throws CertPathValidatorException

      Used by CertPathValidator to pass the certificates one by one from the certificate chain.
      Specified by:
        `check` in class `PKIXCertPathChecker`
      Parameters:
        `cert` - the certificate passed to be checked.
        `unresolvedCritExts` - not used in this method.
      Throws:
        `CertPathValidatorException`