Class Ssh2DsaPublicKey
java.lang.Object
com.sshtools.common.ssh.components.jce.Ssh2DsaPublicKey
- All Implemented Interfaces:
Component,SshDsaPublicKey,SshPublicKey,SecureComponent
A DSA public key implementation which uses a JCE provider.
- Author:
- Lee David Painter
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanGet the algorithm name for the public key.intGet the bit length of the public keybyte[]Encode the public key into a blob of binary data, the encoded result will be passed into init to recreate the key.The algorithm name used in the encoding of the public keyReturn an SSH fingerprint of the public keygetG()Return the JCE component for this key.getP()intgetQ()The algorithm name expected to be encoded in SSH signaturesgetY()inthashCode()init(byte[] blob, int start, int len) Initialize the public key from a blob of binary data.test()Test the JCE for algorithm availability.booleanverifySignature(byte[] signature, byte[] data) Verify the signature.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.sshtools.common.ssh.components.SshPublicKey
init, isCertificate
-
Field Details
-
pubkey
-
-
Constructor Details
-
Ssh2DsaPublicKey
public Ssh2DsaPublicKey() -
Ssh2DsaPublicKey
-
Ssh2DsaPublicKey
public Ssh2DsaPublicKey(BigInteger p, BigInteger q, BigInteger g, BigInteger y) throws NoSuchAlgorithmException, InvalidKeySpecException
-
-
Method Details
-
getSecurityLevel
- Specified by:
getSecurityLevelin interfaceSecureComponent
-
getPriority
public int getPriority()- Specified by:
getPriorityin interfaceSecureComponent
-
getJCEPublicKey
Description copied from interface:SshPublicKeyReturn the JCE component for this key.- Specified by:
getJCEPublicKeyin interfaceSshDsaPublicKey- Specified by:
getJCEPublicKeyin interfaceSshPublicKey- Returns:
-
getAlgorithm
Get the algorithm name for the public key.- Specified by:
getAlgorithmin interfaceSecureComponent- Specified by:
getAlgorithmin interfaceSshPublicKey- Returns:
- the algorithm name, for example "ssh-dss"
-
getEncodingAlgorithm
Description copied from interface:SshPublicKeyThe algorithm name used in the encoding of the public key- Specified by:
getEncodingAlgorithmin interfaceSshPublicKey
-
getBitLength
public int getBitLength()Description copied from interface:SshPublicKeyGet the bit length of the public key- Specified by:
getBitLengthin interfaceSshPublicKey- Returns:
- the bit length of the public key
-
getEncoded
Encode the public key into a blob of binary data, the encoded result will be passed into init to recreate the key.- Specified by:
getEncodedin interfaceSshPublicKey- Returns:
- an encoded byte array
- Throws:
SshException
-
getFingerprint
Description copied from interface:SshPublicKeyReturn an SSH fingerprint of the public key- Specified by:
getFingerprintin interfaceSshPublicKey- Returns:
- java.lang.String
- Throws:
SshException
-
init
Initialize the public key from a blob of binary data.- Specified by:
initin interfaceSshPublicKey- Parameters:
blob- byte[]start- intlen- int- Throws:
SshException
-
verifySignature
Verify the signature.- Specified by:
verifySignaturein interfaceSshPublicKey- Parameters:
signature- byte[]data- byte[]- Returns:
trueif the signature was produced by the corresponding private key that owns this public key, otherwisefalse.- Throws:
SshException
-
equals
-
hashCode
public int hashCode() -
getG
- Specified by:
getGin interfaceSshDsaPublicKey
-
getP
- Specified by:
getPin interfaceSshDsaPublicKey
-
getQ
- Specified by:
getQin interfaceSshDsaPublicKey
-
getY
- Specified by:
getYin interfaceSshDsaPublicKey
-
test
Description copied from interface:SshPublicKeyTest the JCE for algorithm availability.- Specified by:
testin interfaceSshPublicKey- Returns:
-
getSigningAlgorithm
Description copied from interface:SshPublicKeyThe algorithm name expected to be encoded in SSH signatures- Specified by:
getSigningAlgorithmin interfaceSshPublicKey
-