authenticator

package
v0.0.0-...-bcaf304 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultMessageAuthenticator

type DefaultMessageAuthenticator struct {
	// contains filtered or unexported fields
}

DefaultMessageAuthenticator is an HMAC based MessageAuthenticator

func NewDefaultMessageAuthenticator

func NewDefaultMessageAuthenticator(hashFn func() hash.Hash, key []byte) *DefaultMessageAuthenticator

NewDefaultMessageAuthenticator returns a newly initialized DefaultMessageAuthenticator

func (*DefaultMessageAuthenticator) AuthenticateMessages

func (a *DefaultMessageAuthenticator) AuthenticateMessages(data []byte) ([]byte, int, error)

AuthenticateMessages processes one or more messages (each with a header) in a given byte slice. It returns the successfully processed raw messages successfully and the number of messages processed.

func (*DefaultMessageAuthenticator) GetMessageAuthenticationHeader

func (a *DefaultMessageAuthenticator) GetMessageAuthenticationHeader(data []byte) ([]byte, error)

GetMessageAuthenticationHeader returns a header produced for the given data

func (*DefaultMessageAuthenticator) GetMessageAuthenticationHeaderLength

func (a *DefaultMessageAuthenticator) GetMessageAuthenticationHeaderLength() int

GetMessageAuthenticationHeaderLength returns the length (in bytes) of headers produced by the MessageAuthenticator

func (*DefaultMessageAuthenticator) ReadNext

func (a *DefaultMessageAuthenticator) ReadNext(r io.Reader) ([]byte, error)

ReadNext reads and verifies HMAC on a single messages

func (*DefaultMessageAuthenticator) WithHashFn

func (a *DefaultMessageAuthenticator) WithHashFn(hashFn func() hash.Hash) *DefaultMessageAuthenticator

WithHashFn modifies the hash function and hash length on a DefaultMessageAuthenticator and returns it

type MessageAuthenticator

type MessageAuthenticator interface {
	GetMessageAuthenticationHeaderLength() int
	GetMessageAuthenticationHeader([]byte) ([]byte, error)
	ReadNext(io.Reader) ([]byte, error)
	AuthenticateMessages([]byte) ([]byte, int, error)
}

MessageAuthenticator represents a message authentication service

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL