Class CertPath

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    OpenSSLX509CertPath, PKIXCertPath

    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.
    • Constructor Detail

      • CertPath

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

      • 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.
      • 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.