Class DERWriter

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.sshd.common.util.io.der.DERWriter
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class DERWriter extends FilterOutputStream
A bare-minimum DER encoder - just enough so we can encoder signatures and keys data
  • Field Details

    • lenBytes

      private final byte[] lenBytes
  • Constructor Details

    • DERWriter

      public DERWriter()
    • DERWriter

      public DERWriter(int initialSize)
    • DERWriter

      public DERWriter(OutputStream stream)
  • Method Details

    • startSequence

      public DERWriter startSequence()
    • writeBigInteger

      public void writeBigInteger(BigInteger value) throws IOException
      Throws:
      IOException
    • writeBigInteger

      public void writeBigInteger(byte... bytes) throws IOException
      The integer is always considered to be positive, so if the first byte is < 0, we pad with a zero to make it positive
      Parameters:
      bytes - BigInteger bytes
      Throws:
      IOException - If failed to write the bytes
    • writeBigInteger

      public void writeBigInteger(byte[] bytes, int off, int len) throws IOException
      The integer is always considered to be positive, so if the first byte is < 0, we pad with a zero to make it positive
      Parameters:
      bytes - BigInteger bytes
      off - Offset in bytes data
      len - Number of bytes to write
      Throws:
      IOException - If failed to write the bytes
    • isPositive

      private boolean isPositive(byte b)
    • writeObject

      public void writeObject(ASN1Object obj) throws IOException
      Throws:
      IOException
    • writeObject

      public void writeObject(byte tag, int len, byte... data) throws IOException
      Throws:
      IOException
    • write

      public void write(byte[] b, int off, int len) throws IOException
      Overrides:
      write in class FilterOutputStream
      Throws:
      IOException
    • writeLength

      public void writeLength(int len) throws IOException
      Throws:
      IOException
    • toByteArray

      public byte[] toByteArray() throws IOException
      Throws:
      IOException