Class BmcCapabilities

java.lang.Object
org.metricshub.ipmi.client.BmcCapabilities

public final class BmcCapabilities extends Object
What the BMC supports before any login (Get Channel Cipher Suites and Get Channel Authentication Capabilities, IPMI 2.0 sections 22.15 and 22.13): the cipher suites it offers and its authentication options.
  • Method Details

    • cipherSuites

      public List<CipherSuite> cipherSuites()
      Returns the standard cipher suites (0 to 19) the BMC offers, with their algorithms; the OEM suites and reserved suite IDs it lists are left out. CipherSuite.isSupported() tells whether the library implements the algorithms of a suite.
      Returns:
      the suites, in the order the BMC lists them
    • ipmi20

      public boolean ipmi20()
      Tells whether the BMC supports IPMI 2.0 (RMCP+) sessions: always true, as IpmiClient.capabilities() fails with IpmiClientException for a BMC without them.
      Returns:
      true when IPMI 2.0 sessions are supported
    • bmcKeyRequired

      public boolean bmcKeyRequired()
      Tells whether the BMC requires the two-key login: the BMC key (Kg) is set and must be given with the password.
      Returns:
      true when the BMC key is required
    • anonymousLogin

      public boolean anonymousLogin()
      Tells whether the BMC accepts the anonymous login (null user name and null password).
      Returns:
      true when the anonymous login is enabled
    • nullUserNames

      public boolean nullUserNames()
      Tells whether the BMC accepts a null user name with a non-null password.
      Returns:
      true when null user names are enabled
    • nonNullUserNames

      public boolean nonNullUserNames()
      Tells whether the BMC has at least one user with a non-null user name.
      Returns:
      true when non-null user names are enabled
    • perMessageAuthentication

      public boolean perMessageAuthentication()
      Tells whether the BMC authenticates every message of a session, rather than the login only.
      Returns:
      true when per-message authentication is enabled
    • userLevelAuthentication

      public boolean userLevelAuthentication()
      Tells whether the BMC authenticates the commands of the User privilege level.
      Returns:
      true when user-level authentication is enabled
    • data

      Returns the reply of the BMC, as the protocol core decodes it.
      Returns:
      the reply to Get Channel Authentication Capabilities
    • toString

      public String toString()
      Overrides:
      toString in class Object