net.i2p.data
Class KeysAndCert

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by net.i2p.data.KeysAndCert
All Implemented Interfaces:
DataStructure
Direct Known Subclasses:
Destination, RouterIdentity

public class KeysAndCert
extends DataStructureImpl

KeysAndCert has a public key, a signing key, and a certificate. In that order. We also store a cached Hash. Implemented in 0.8.2 and retrofitted over Destination and RouterIdentity. There's actually no difference between the two of them.

Since:
0.8.2
Author:
zzz

Field Summary
protected  Hash __calculatedHash
           
protected  Certificate _certificate
           
protected  PublicKey _publicKey
           
protected  SigningPublicKey _signingKey
           
 
Constructor Summary
KeysAndCert()
           
 
Method Summary
 Hash calculateHash()
          Calculate the SHA256 value of this object (useful for a few scenarios)
 boolean equals(Object object)
           
 Certificate getCertificate()
           
 Hash getHash()
           
 PublicKey getPublicKey()
           
 SigningPublicKey getSigningPublicKey()
           
 int hashCode()
          the public key has enough randomness in it to use it by itself for speed
 void readBytes(InputStream in)
          Load up the current object with data from the given stream.
 void setCertificate(Certificate cert)
           
 void setPublicKey(PublicKey key)
           
 void setSigningPublicKey(SigningPublicKey key)
           
 String toString()
           
 void writeBytes(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
fromBase64, fromByteArray, read, toBase64, toByteArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_publicKey

protected PublicKey _publicKey

_signingKey

protected SigningPublicKey _signingKey

_certificate

protected Certificate _certificate

__calculatedHash

protected Hash __calculatedHash
Constructor Detail

KeysAndCert

public KeysAndCert()
Method Detail

getCertificate

public Certificate getCertificate()

setCertificate

public void setCertificate(Certificate cert)

getPublicKey

public PublicKey getPublicKey()

setPublicKey

public void setPublicKey(PublicKey key)

getSigningPublicKey

public SigningPublicKey getSigningPublicKey()

setSigningPublicKey

public void setSigningPublicKey(SigningPublicKey key)

readBytes

public void readBytes(InputStream in)
               throws DataFormatException,
                      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
IOException - if there was a problem reading the stream

writeBytes

public void writeBytes(OutputStream out)
                throws DataFormatException,
                       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
IOException - if there was a problem writing to the stream

equals

public boolean equals(Object object)
Overrides:
equals in class Object

hashCode

public int hashCode()
the public key has enough randomness in it to use it by itself for speed

Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

calculateHash

public Hash calculateHash()
Description copied from interface: DataStructure
Calculate the SHA256 value of this object (useful for a few scenarios)

Specified by:
calculateHash in interface DataStructure
Overrides:
calculateHash in class DataStructureImpl
Returns:
SHA256 hash, or null if there were problems (data format or io errors)

getHash

public Hash getHash()