Versions in this module Expand all Collapse all v0 v0.9.0 Aug 9, 2026 Changes in this version + func AuthCodeMultiSession(authType types.AuthType, password []byte, sessionID, sessionSeq uint32, ...) []byte + func AuthCodeSingleSession(authType types.AuthType, password []byte, sessionID uint32, challenge []byte) []byte + func AuthHMAC(alg types.AuthAlg, data, key []byte) ([]byte, error) + func DecryptAES(cipherText, cipherKey, iv []byte) ([]byte, error) + func DecryptAESPayload(cipherText, k2 []byte) ([]byte, error) + func DecryptRC4(cipherText, cipherKey, iv []byte) ([]byte, error) + func DeriveK1(authAlg types.AuthAlg, sik []byte) ([]byte, error) + func DeriveK2(authAlg types.AuthAlg, sik []byte) ([]byte, error) + func DeriveSIK(authAlg types.AuthAlg, consoleRand, bmcRand []byte, role uint8, ...) ([]byte, error) + func DeriveSessionKeys(authAlg types.AuthAlg, consoleRand, bmcRand []byte, role uint8, ...) (sik, k1, k2 []byte, err error) + func EncryptAES(plainText, cipherKey, iv []byte) ([]byte, error) + func EncryptAESPayload(plain, k2, iv []byte) ([]byte, error) + func EncryptRC4(plainText, cipherKey, _ []byte) ([]byte, error) + func Equal(a, b []byte) bool + func HMAC(alg string, data, key []byte) ([]byte, error) + func IntegrityAuthCodeLen(alg types.IntegrityAlg) (int, bool) + func IntegrityHMAC(alg types.IntegrityAlg, data, key []byte) ([]byte, error) + func PadAES(plain []byte) []byte + func PadPassword20(password []byte) []byte + func RAKP2AuthCode(authAlg types.AuthAlg, consoleID, bmcID uint32, ...) ([]byte, error) + func RAKP2AuthCodeLen(alg types.AuthAlg) int + func RAKP3AuthCode(authAlg types.AuthAlg, bmcRand []byte, consoleID uint32, role uint8, ...) ([]byte, error) + func RAKP3AuthCodeLen(alg types.AuthAlg) int + func RAKP4ICV(authAlg types.AuthAlg, consoleRand []byte, bmcID uint32, bmcGUID, sik []byte) ([]byte, error) + func RAKP4ICVLen(alg types.AuthAlg) int + func RandomBytes(n int) []byte + func SessionIntegrityAuthCode(alg types.IntegrityAlg, input, k1 []byte, password string) ([]byte, error) + func TruncateRAKP2AuthCode(alg types.AuthAlg, full []byte) ([]byte, error) + func UnpadAES(padded []byte) ([]byte, error) + func VerifyMultiSessionAuthCode(authType types.AuthType, password []byte, sessionID, sessionSeq uint32, ...) bool + type MultiSessionInput struct + IPMIData []byte + Password string + SessionID uint32 + SessionSeq uint32 + func (i MultiSessionInput) AuthCode(authType types.AuthType) []byte + type SingleSessionInput struct + Challenge []byte + Password string + SessionID uint32 + func (a SingleSessionInput) AuthCode(authType types.AuthType) []byte