Class ASN1Set

All Implemented Interfaces:
DEREncodable, DERTags
Direct Known Subclasses:
DERConstructedSet, DERSet

public abstract class ASN1Set extends ASN1Object
  • Field Details

  • Constructor Details

    • ASN1Set

      public ASN1Set()
  • Method Details

    • getInstance

      public static ASN1Set getInstance(Object obj)
      return an ASN1Set from the given object.
      Parameters:
      obj - the object we want converted.
      Throws:
      IllegalArgumentException - if the object cannot be converted.
    • getInstance

      public static ASN1Set getInstance(ASN1TaggedObject obj, boolean explicit)
      Return an ASN1 set from a tagged object. There is a special case here, if an object appears to have been explicitly tagged on reading but we were expecting it to be implictly tagged in the normal course of events it indicates that we lost the surrounding set - so we need to add it back (this will happen if the tagged object is a sequence that contains other sequences). If you are dealing with implicitly tagged sets you really should be using this method.
      Parameters:
      obj - the tagged object.
      explicit - true if the object is meant to be explicitly tagged false otherwise.
      Throws:
      IllegalArgumentException - if the tagged object cannot be converted.
    • getObjects

      public Enumeration getObjects()
    • getObjectAt

      public DEREncodable getObjectAt(int index)
      return the object at the set postion indicated by index.
      Parameters:
      index - the set number (starting at zero) of the object
      Returns:
      the object at the set postion indicated by index.
    • size

      public int size()
      return the number of objects in this set.
      Returns:
      the number of objects in this set.
    • parser

      public ASN1SetParser parser()
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class ASN1Object
    • asn1Equals

      boolean asn1Equals(DERObject o)
      Specified by:
      asn1Equals in class ASN1Object
    • lessThanOrEqual

      private boolean lessThanOrEqual(byte[] a, byte[] b)
      return true if a invalid input: '<'= b (arrays are assumed padded with zeros).
    • getEncoded

      private byte[] getEncoded(DEREncodable obj)
    • sort

      protected void sort()
    • addObject

      protected void addObject(DEREncodable obj)
    • encode

      abstract void encode(DEROutputStream out) throws IOException
      Specified by:
      encode in class ASN1Object
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object