net.i2p.data
Class SigningPrivateKey

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by 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()
          the key has enough randomness in it, use the first 4 bytes for speed
 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()
the key has enough randomness in it, use the first 4 bytes for speed

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