Class AbstractHmac
java.lang.Object
com.sshtools.common.ssh.components.jce.AbstractHmac
- All Implemented Interfaces:
Component,SshComponent,SshHmac,SecureComponent
- Direct Known Subclasses:
HmacMD5,HmacMD596,HmacMD5ETM,HmacRipeMd160,HmacRipeMd160ETM,HmacSha1,HmacSha196,HmacSha1ETM,HmacSha256,HmacSha256_at_ssh_dot_com,HmacSha256ETM,HmacSha512,HmacSha512ETM
An abstract class that implements the
SshHmac
interface to provide support for JCE based message authentication.- Author:
- Lee David Painter
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractHmac(String jceAlgorithm, int macSize, int outputLength, SecurityLevel securityLevel, int priority) AbstractHmac(String jceAlgorithm, int macLength, SecurityLevel securityLevel, int priority) -
Method Summary
Modifier and TypeMethodDescriptionbyte[]doFinal()voidgenerate(long sequenceNo, byte[] data, int offset, int len, byte[] output, int start) abstract StringintThe length of the message digest output by this implementation (maybe lower than mac size);intThe size of the message digest output by the hmac algorithmintvoidinit(byte[] keydata) booleanisETM()voidupdate(byte[] b) booleanverify(long sequenceNo, byte[] data, int start, int len, byte[] mac, int offset)
-
Field Details
-
mac
-
macSize
protected int macSize -
macLength
protected int macLength -
jceAlgorithm
-
-
Constructor Details
-
AbstractHmac
-
AbstractHmac
public AbstractHmac(String jceAlgorithm, int macSize, int outputLength, SecurityLevel securityLevel, int priority)
-
-
Method Details
-
getSecurityLevel
- Specified by:
getSecurityLevelin interfaceSecureComponent
-
getPriority
public int getPriority()- Specified by:
getPriorityin interfaceSecureComponent
-
generate
public void generate(long sequenceNo, byte[] data, int offset, int len, byte[] output, int start) -
update
public void update(byte[] b) -
doFinal
public byte[] doFinal() -
getAlgorithm
- Specified by:
getAlgorithmin interfaceSecureComponent- Specified by:
getAlgorithmin interfaceSshComponent- Specified by:
getAlgorithmin interfaceSshHmac
-
getProvider
-
getMacSize
public int getMacSize()Description copied from interface:SshHmacThe size of the message digest output by the hmac algorithm- Specified by:
getMacSizein interfaceSshHmac- Returns:
-
getMacLength
public int getMacLength()Description copied from interface:SshHmacThe length of the message digest output by this implementation (maybe lower than mac size);- Specified by:
getMacLengthin interfaceSshHmac- Returns:
-
isETM
public boolean isETM() -
init
- Specified by:
initin interfaceSshHmac- Throws:
SshException
-
verify
public boolean verify(long sequenceNo, byte[] data, int start, int len, byte[] mac, int offset)
-