Documentation ¶
Overview ¶
Package opaque is an authenticator for Agent communications with the server using the OPAQUE protocol
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UserAuthenticateComplete ¶
UserAuthenticateComplete consumes the Server's authentication message and finishes the user authentication and key exchange
func UserAuthenticateInit ¶
UserAuthenticateInit is used to authenticate an agent leveraging the OPAQUE Password Authenticated Key Exchange (PAKE) protocol
Types ¶
type Authenticator ¶
type Authenticator struct {
// contains filtered or unexported fields
}
Authenticator is a structure used for OPAQUE authentication
func New ¶
func New(id uuid.UUID) *Authenticator
New returns an OPAQUE Authenticator structure used for Agent authentication
func (*Authenticator) Authenticate ¶
func (a *Authenticator) Authenticate(in messages.Base) (out messages.Base, authenticated bool, err error)
Authenticate goes through the entire OPAQUE process to authenticate to the server and establish a shared secret
func (*Authenticator) Secret ¶
func (a *Authenticator) Secret() (key []byte, err error)
Secret returns the established shared secret as bytes
func (*Authenticator) String ¶
func (a *Authenticator) String() string
String returns the name of the Authenticator type
type User ¶
type User struct { Kex *gopaque.KeyExchangeSigma // User Key Exchange // contains filtered or unexported fields }
User is the structure that holds information for the various steps of the OPAQUE protocol as the user