net.i2p.crypto
Class KeyGenerator

java.lang.Object
  extended by net.i2p.crypto.KeyGenerator

public class KeyGenerator
extends java.lang.Object

Define a way of generating asymmetrical key pairs as well as symmetrical keys

Author:
jrandom

Field Summary
static int PUBKEY_EXPONENT_SIZE
           
 
Constructor Summary
KeyGenerator(I2PAppContext context)
           
 
Method Summary
 java.lang.Object[] generatePKIKeypair()
          Generate a pair of keys, where index 0 is a PublicKey, and index 1 is a PrivateKey
 SessionKey generateSessionKey()
          Generate a private 256 bit session key
 SessionKey generateSessionKey(byte[] salt, byte[] passphrase)
          PBE the passphrase with the salt
 java.lang.Object[] generateSigningKeypair()
          Generate a pair of DSA keys, where index 0 is a SigningPublicKey, and index 1 is a SigningPrivateKey
static KeyGenerator getInstance()
           
static PublicKey getPublicKey(PrivateKey priv)
          Convert a PrivateKey to its corresponding PublicKey
static SigningPublicKey getSigningPublicKey(SigningPrivateKey priv)
          Convert a SigningPrivateKey to a SigningPublicKey
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PUBKEY_EXPONENT_SIZE

public static final int PUBKEY_EXPONENT_SIZE
See Also:
Constant Field Values
Constructor Detail

KeyGenerator

public KeyGenerator(I2PAppContext context)
Method Detail

getInstance

public static KeyGenerator getInstance()

generateSessionKey

public SessionKey generateSessionKey()
Generate a private 256 bit session key

Returns:
session key

generateSessionKey

public SessionKey generateSessionKey(byte[] salt,
                                     byte[] passphrase)
PBE the passphrase with the salt


generatePKIKeypair

public java.lang.Object[] generatePKIKeypair()
Generate a pair of keys, where index 0 is a PublicKey, and index 1 is a PrivateKey

Returns:
pair of keys

getPublicKey

public static PublicKey getPublicKey(PrivateKey priv)
Convert a PrivateKey to its corresponding PublicKey

Parameters:
priv - PrivateKey object
Returns:
the corresponding PublicKey object

generateSigningKeypair

public java.lang.Object[] generateSigningKeypair()
Generate a pair of DSA keys, where index 0 is a SigningPublicKey, and index 1 is a SigningPrivateKey

Returns:
pair of keys

getSigningPublicKey

public static SigningPublicKey getSigningPublicKey(SigningPrivateKey priv)
Convert a SigningPrivateKey to a SigningPublicKey

Parameters:
priv - a SigningPrivateKey object
Returns:
a SigningPublicKey object