Class CertPath

java.lang.Object
java.security.cert.CertPath
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
OpenSSLX509CertPath, PKIXCertPath, X509CertPathImpl

public abstract class CertPath
extends Object
implements Serializable
An immutable certificate path that can be validated. All certificates in the path are of the same type (i.e., X509).

A CertPath can be represented as a byte array in at least one supported encoding scheme (i.e. PkiPath or PKCS7) when serialized.

When a List of the certificates is obtained it must be immutable.

A CertPath must be thread-safe without requiring coordinated access.

See Also:
Certificate, Serialized Form
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    protected static class  CertPath.CertPathRep
    The alternate Serializable class to be used for serialization and deserialization on CertPath objects.
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected CertPath​(String type)
    Creates a new CertPath instance for the specified certificate type.
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(Object other)
    Returns true if Certificates in the list are the same type and the lists are equal (and by implication the certificates contained within are the same).
    abstract List<? extends Certificate> getCertificates()
    Returns an immutable List of the Certificates contained in the CertPath.
    abstract byte[] getEncoded()
    Returns an encoding of the CertPath using the default encoding.
    abstract byte[] getEncoded​(String encoding)
    Returns an encoding of this CertPath using the given encoding from getEncodings().
    abstract Iterator<String> getEncodings()
    Returns an Iterator over the supported encodings for a representation of the certificate path.
    String getType()
    Returns the type of Certificate in this instance.
    int hashCode()
    Overrides Object.hashCode().
    String toString()
    Returns a String representation of this CertPath instance.
    protected Object writeReplace()
    Returns an alternate object to be serialized.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CertPath

      protected CertPath​(String type)
      Creates a new CertPath instance for the specified certificate type.
      Parameters:
      type - the certificate type.
  • Method Details

    • getType

      public String getType()
      Returns the type of Certificate in this instance.
      Returns:
      the certificate type.
    • equals

      public boolean equals​(Object other)
      Returns true if Certificates in the list are the same type and the lists are equal (and by implication the certificates contained within are the same).
      Overrides:
      equals in class Object
      Parameters:
      other - CertPath to be compared for equality.
      Returns:
      true if the object are equal, false otherwise.
      See Also:
      Object.hashCode()
    • hashCode

      public int hashCode()
      Overrides Object.hashCode(). The function is defined as follows:
       hashCode = 31 * path.getType().hashCode() +
       path.getCertificates().hashCode();
       
      Overrides:
      hashCode in class Object
      Returns:
      the hash code for this instance.
      See Also:
      Object.equals(java.lang.Object)
    • toString

      public String toString()
      Returns a String representation of this CertPath instance. It is the result of calling toString on all Certificates in the List.
      Overrides:
      toString in class Object
      Returns:
      a string representation of this instance.
    • getCertificates

      public abstract List<? extends Certificate> getCertificates()
      Returns an immutable List of the Certificates contained in the CertPath.
      Returns:
      a list of Certificates in the CertPath.
    • getEncoded

      public abstract byte[] getEncoded() throws CertificateEncodingException
      Returns an encoding of the CertPath using the default encoding.
      Returns:
      default encoding of the CertPath.
      Throws:
      CertificateEncodingException - if the encoding fails.
    • getEncoded

      public abstract byte[] getEncoded​(String encoding) throws CertificateEncodingException
      Returns an encoding of this CertPath using the given encoding from getEncodings().
      Throws:
      CertificateEncodingException - if the encoding fails.
    • getEncodings

      public abstract Iterator<String> getEncodings()
      Returns an Iterator over the supported encodings for a representation of the certificate path.
      Returns:
      Iterator over supported encodings (as Strings).
    • writeReplace

      protected Object writeReplace() throws ObjectStreamException
      Returns an alternate object to be serialized.
      Returns:
      an alternate object to be serialized.
      Throws:
      ObjectStreamException - if the creation of the alternate object fails.