Class IntegerType

All Implemented Interfaces:
DEREncoder

public class IntegerType extends AbstractDERType implements DEREncoder
Converts arbitrary-precision integers to and from their DER encoded format.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final byte[]
    Integer to encode.
  • Constructor Summary

    Constructors
    Constructor
    Description
    IntegerType(int item)
    Creates a new integer type.
    Creates a new integer type.
    IntegerType(DERTag tag, int item)
    Creates a new integer type.
    Creates a new integer type.
  • Method Summary

    Modifier and Type
    Method
    Description
    static BigInteger
    decode(DERBuffer encoded)
    Converts bytes in the buffer to an integer by reading from the current position to the limit, which assumes the bytes of the integer are in big-endian order.
    static BigInteger
    Converts bytes in the buffer to an unsigned integer by reading from the current position to the limit, which assumes the bytes of the integer are in big-endian order.
    static int
    Converts bytes in the buffer to an unsigned primitive integer by reading from the current position to the limit, which assumes the bytes of the integer are in big-endian order.
    byte[]
    Encode this object into it's DER type.
    static byte[]
    Converts the supplied big integer to a byte array.

    Methods inherited from class org.ldaptive.asn1.AbstractDERType

    encode

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • derItem

      private final byte[] derItem
      Integer to encode.
  • Constructor Details

    • IntegerType

      public IntegerType(BigInteger item)
      Creates a new integer type.
      Parameters:
      item - to DER encode
    • IntegerType

      public IntegerType(int item)
      Creates a new integer type.
      Parameters:
      item - to DER encode
    • IntegerType

      public IntegerType(DERTag tag, BigInteger item)
      Creates a new integer type.
      Parameters:
      tag - der tag associated with this type
      item - to DER encode
      Throws:
      IllegalArgumentException - if the der tag is constructed
    • IntegerType

      public IntegerType(DERTag tag, int item)
      Creates a new integer type.
      Parameters:
      tag - der tag associated with this type
      item - to DER encode
      Throws:
      IllegalArgumentException - if the der tag is constructed
  • Method Details

    • encode

      public byte[] encode()
      Description copied from interface: DEREncoder
      Encode this object into it's DER type.
      Specified by:
      encode in interface DEREncoder
      Returns:
      DER encoded object
    • decode

      public static BigInteger decode(DERBuffer encoded)
      Converts bytes in the buffer to an integer by reading from the current position to the limit, which assumes the bytes of the integer are in big-endian order.
      Parameters:
      encoded - buffer containing DER-encoded data where the buffer is positioned at the start of integer bytes and the limit is set beyond the last byte of integer data.
      Returns:
      decoded bytes as an integer of arbitrary size.
    • decodeUnsigned

      public static BigInteger decodeUnsigned(DERBuffer encoded)
      Converts bytes in the buffer to an unsigned integer by reading from the current position to the limit, which assumes the bytes of the integer are in big-endian order.
      Parameters:
      encoded - buffer containing DER-encoded data where the buffer is positioned at the start of integer bytes and the limit is set beyond the last byte of integer data.
      Returns:
      decoded bytes as an unsigned integer of arbitrary size.
    • decodeUnsignedPrimitive

      public static int decodeUnsignedPrimitive(DERBuffer encoded)
      Converts bytes in the buffer to an unsigned primitive integer by reading from the current position to the limit, which assumes the bytes of the integer are in big-endian order. This method reads up to 4 bytes from the buffer.
      Parameters:
      encoded - buffer containing DER-encoded data where the buffer is positioned at the start of integer bytes and the limit is set beyond the last byte of integer data.
      Returns:
      decoded bytes as an unsigned integer.
      Throws:
      IllegalArgumentException - if the buffer contains more than 4 bytes
    • toBytes

      public static byte[] toBytes(BigInteger i)
      Converts the supplied big integer to a byte array.
      Parameters:
      i - to convert
      Returns:
      byte array