Class IntegrityAlgorithm
java.lang.Object
org.metricshub.ipmi.core.coding.security.IntegrityAlgorithm
- Direct Known Subclasses:
IntegrityHmacMd5_128
,IntegrityHmacSha1_96
,IntegrityHmacSha256_128
,IntegrityNone
Interface for Integrity Algorithms. All classes extending this one must
implement constructor(byte[]).
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
generateAuthCode
(byte[] base) Creates AuthCode field for message.abstract String
Returns the name of the algorithm.abstract int
Returns the length of the authentication codeabstract byte
getCode()
Returns the algorithm's ID.void
initialize
(byte[] sik) Initializes Integrity Algorithm
-
Method Details
-
initialize
Initializes Integrity Algorithm- Parameters:
sik
- - Session Integrity Key calculated during the opening of the session or user password if 'one-key' logins are enabled.- Throws:
InvalidKeyException
-
getCode
public abstract byte getCode()Returns the algorithm's ID. -
generateAuthCode
public byte[] generateAuthCode(byte[] base) Creates AuthCode field for message.- Parameters:
base
- - data starting with the AuthType/Format field up to and including the field that immediately precedes the AuthCode field- Returns:
- AuthCode field. Might be null if empty AuthCOde field is generated.
- See Also:
-
getAlgorithmName
Returns the name of the algorithm.- Returns:
- The algorithm name as a
String
.
-
getAuthCodeLength
public abstract int getAuthCodeLength()Returns the length of the authentication code- Returns:
- The length of the authentication code in bytes.
-