com.maverick.ssh.components.jce
Class Ssh2DsaPublicKey

java.lang.Object
  extended by com.maverick.ssh.components.jce.Ssh2DsaPublicKey
All Implemented Interfaces:
SshComponent, SshDsaPublicKey, SshPublicKey
Direct Known Subclasses:
SshX509DsaPublicKey

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)
           
 int getBitLength()
          Get the bit length of the public key
 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()
          Return an SSH fingerprint of the public key
 BigInteger getG()
           
 DSAPublicKey getJCEPublicKey()
           
 String getName()
          Get the algorithm name for the public key.
 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

getJCEPublicKey

public DSAPublicKey getJCEPublicKey()

getName

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

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

getBitLength

public int getBitLength()
Description copied from interface: SshPublicKey
Get the bit length of the public key

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
Description copied from interface: SshPublicKey
Return an SSH fingerprint of the public key

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 © 2013. All Rights Reserved.