Class IntegrityAlgorithm

java.lang.Object
org.metricshub.ipmi.core.coding.security.IntegrityAlgorithm
Direct Known Subclasses:
IntegrityHmacMd5_128, IntegrityHmacSha1_96, IntegrityHmacSha256_128, IntegrityNone

public abstract class IntegrityAlgorithm extends Object
Interface for Integrity Algorithms. All classes extending this one must implement constructor(byte[]).
  • Method Details

    • initialize

      public void initialize(byte[] sik) throws InvalidKeyException
      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

      public abstract String 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.