Class DERBitString

All Implemented Interfaces:
ASN1Encodable, ASN1String
Direct Known Subclasses:
NetscapeCertType, ReasonFlags

public class DERBitString
extends ASN1Primitive
implements ASN1String
  • Field Details

    • data

      protected byte[] data
    • padBits

      protected int padBits
  • Constructor Details

    • DERBitString

      protected DERBitString​(byte data, int padBits)
    • DERBitString

      public DERBitString​(byte[] data, int padBits)
      Parameters:
      data - the octets making up the bit string.
      padBits - the number of extra bits at the end of the string.
    • DERBitString

      public DERBitString​(byte[] data)
    • DERBitString

      public DERBitString​(int value)
    • DERBitString

      public DERBitString​(ASN1Encodable obj) throws IOException
      Throws:
      IOException
  • Method Details

    • getPadBits

      protected static int getPadBits​(int bitString)
      return the correct number of pad bits for a bit string defined in a 32 bit constant
    • getBytes

      protected static byte[] getBytes​(int bitString)
      return the correct number of bytes for a bit string defined in a 32 bit constant
    • getInstance

      public static DERBitString getInstance​(Object obj)
      return a Bit String from the passed in object
      Throws:
      IllegalArgumentException - if the object cannot be converted.
    • getInstance

      public static DERBitString getInstance​(ASN1TaggedObject obj, boolean explicit)
      return a Bit String from a tagged object.
      Parameters:
      obj - the tagged object holding the object we want
      explicit - true if the object is meant to be explicitly tagged false otherwise.
      Throws:
      IllegalArgumentException - if the tagged object cannot be converted.
    • getBytes

      public byte[] getBytes()
    • getPadBits

      public int getPadBits()
    • intValue

      public int intValue()
      Returns:
      the value of the bit string as an int (truncating if necessary)
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

      Note that hash values must not change over time unless information used in equals comparisons also changes.

      See Writing a correct hashCode method if you intend implementing your own hashCode method.

      Specified by:
      hashCode in class ASN1Primitive
      Returns:
      this object's hash code.
      See Also:
      Object.equals(java.lang.Object)
    • asn1Equals

      protected boolean asn1Equals​(ASN1Primitive o)
    • getString

      public String getString()
      Specified by:
      getString in interface ASN1String
    • toString

      public String toString()
      Description copied from class: Object
      Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
         getClass().getName() + '@' + Integer.toHexString(hashCode())

      See Writing a useful toString method if you intend implementing your own toString method.

      Overrides:
      toString in class Object
      Returns:
      a printable representation of this object.