com.maverick.ssh.components.jce
Class Ssh2DsaPublicKey

java.lang.Object
  extended by com.maverick.ssh.components.jce.Ssh2DsaPublicKey
All Implemented Interfaces:
SshDsaPublicKey, SshPublicKey

public class Ssh2DsaPublicKey
extends Object
implements SshDsaPublicKey

A DSA public key implementation which uses a JCE provider.

Author:
Lee David Painter

Field Summary
protected  DSAPublicKey pubkey
           
 
Constructor Summary
Ssh2DsaPublicKey()
           
Ssh2DsaPublicKey(BigInteger p, BigInteger q, BigInteger g, BigInteger y)
           
Ssh2DsaPublicKey(DSAPublicKey pub)
           
 
Method Summary
 boolean equals(Object obj)
           
 String getAlgorithm()
          Get the algorithm name for the public key.
 int getBitLength()
           
 byte[] getEncoded()
          Encode the public key into a blob of binary data, the encoded result will be passed into init to recreate the key.
 String getFingerprint()
           
 BigInteger getG()
           
 BigInteger getP()
           
 BigInteger getQ()
           
 BigInteger getY()
           
 int hashCode()
           
 void init(byte[] blob, int start, int len)
          Initialize the public key from a blob of binary data.
 boolean verifySignature(byte[] signature, byte[] data)
          Verify the signature.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pubkey

protected DSAPublicKey pubkey
Constructor Detail

Ssh2DsaPublicKey

public Ssh2DsaPublicKey()

Ssh2DsaPublicKey

public Ssh2DsaPublicKey(DSAPublicKey pub)

Ssh2DsaPublicKey

public Ssh2DsaPublicKey(BigInteger p,
                        BigInteger q,
                        BigInteger g,
                        BigInteger y)
                 throws NoSuchAlgorithmException,
                        InvalidKeySpecException
Throws:
NoSuchAlgorithmException
InvalidKeySpecException
Method Detail

getAlgorithm

public String getAlgorithm()
Get the algorithm name for the public key.

Specified by:
getAlgorithm in interface SshPublicKey
Returns:
the algorithm name, for example "ssh-dss"

getBitLength

public int getBitLength()
Specified by:
getBitLength in interface SshPublicKey
Returns:
the bit length of the public key

getEncoded

public byte[] getEncoded()
                  throws SshException
Encode the public key into a blob of binary data, the encoded result will be passed into init to recreate the key.

Specified by:
getEncoded in interface SshPublicKey
Returns:
an encoded byte array
Throws:
SshException

getFingerprint

public String getFingerprint()
                      throws SshException
Specified by:
getFingerprint in interface SshPublicKey
Returns:
java.lang.String
Throws:
SshException

init

public void init(byte[] blob,
                 int start,
                 int len)
          throws SshException
Initialize the public key from a blob of binary data.

Specified by:
init in interface SshPublicKey
Parameters:
blob - byte[]
start - int
len - int
Throws:
SshException

verifySignature

public boolean verifySignature(byte[] signature,
                               byte[] data)
                        throws SshException
Verify the signature.

Specified by:
verifySignature in interface SshPublicKey
Parameters:
signature - byte[]
data - byte[]
Returns:
true if the signature was produced by the corresponding private key that owns this public key, otherwise false.
Throws:
SshException

equals

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

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getG

public BigInteger getG()
Specified by:
getG in interface SshDsaPublicKey

getP

public BigInteger getP()
Specified by:
getP in interface SshDsaPublicKey

getQ

public BigInteger getQ()
Specified by:
getQ in interface SshDsaPublicKey

getY

public BigInteger getY()
Specified by:
getY in interface SshDsaPublicKey


Copyright © 2012. All Rights Reserved.