## net.i2p.data
Class SigningPrivateKey

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.data.SigningPrivateKey

All Implemented Interfaces:
  DataStructure

    public class SigningPrivateKey

extends DataStructureImpl

Defines the SigningPrivateKey as defined by the I2P data structure spec. A private key is 256byte Integer. The private key represents only the exponent, not the primes, which are constant and defined in the crypto spec. This key varies from the PrivateKey in its usage (signing, not decrypting)

Author:
  jrandom

Field Summary
`static int` `KEYSIZE_BYTES`

Constructor Summary
`SigningPrivateKey()`
`SigningPrivateKey(byte[] data)`
`SigningPrivateKey(java.lang.String base64Data)` constructs from base64

Method Summary
`boolean` `equals(java.lang.Object obj)`
`byte[]` `getData()`
`int` `hashCode()`
`void` `readBytes(java.io.InputStream in)` Load up the current object with data from the given stream.
`void` `setData(byte[] data)`
`SigningPublicKey` `toPublic()` converts this signing private key to its public equivalent
`java.lang.String` `toString()`
`void` `writeBytes(java.io.OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.

Methods inherited from class net.i2p.data.DataStructureImpl
`calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### KEYSIZE_BYTES

    public static final int KEYSIZE_BYTES

See Also:
  Constant Field Values

Constructor Detail

### SigningPrivateKey

    public SigningPrivateKey()

### SigningPrivateKey

    public SigningPrivateKey(byte[] data)

### SigningPrivateKey

    public SigningPrivateKey(java.lang.String base64Data)
                      throws DataFormatException

  constructs from base64

  Parameters:
    `base64Data` - a string of base64 data (the output of .toBase64() called on a prior instance of SigningPrivateKey
  Throws:
    `DataFormatException`

Method Detail

### getData

    public byte[] getData()

### setData

    public void setData(byte[] data)

### readBytes

    public void readBytes(java.io.InputStream in)
                   throws DataFormatException,
                          java.io.IOException

  Description copied from interface: `DataStructure`
  Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification.

  Parameters:
    `in` - stream to read from
  Throws:
    `DataFormatException` - if the data is improperly formatted
    `java.io.IOException` - if there was a problem reading the stream

### writeBytes

    public void writeBytes(java.io.OutputStream out)
                    throws DataFormatException,
                           java.io.IOException

  Description copied from interface: `DataStructure`
  Write out the data structure to the stream, using the format defined in the I2P data structure specification.

  Parameters:
    `out` - stream to write to
  Throws:
    `DataFormatException` - if the data was incomplete or not yet ready to be written
    `java.io.IOException` - if there was a problem writing to the stream

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### toPublic

    public SigningPublicKey toPublic()

  converts this signing private key to its public equivalent

  Returns:
    a SigningPublicKey object derived from this private key