package
1.0.30
Repository: https://github.com/c00w/client.git
Documentation: pkg.go.dev

# Functions

NewConn establishes a Kex session based on the given secret.
RunProvisionee runs a provisionee given the necessary arguments.
RunProvisioner runs a provisioner given the necessary arguments.

# Constants

SecretLen is the number of bytes in the secret.

# Variables

ErrAgain indicates that no data was available to read, but the reader was in non-blocking mode, so to try again later.
ErrBadMetadata indicates that the metadata outside the encrypted message didn't match what was inside.
ErrBadSecret indicates that the secret received was invalid.
ErrCanceled is returned if Kex is canceled by the caller via the Context argument.
ErrBadDecryption indicates that a ciphertext failed to decrypt or MAC properly.
ErrHelloTimeout indicates that the Hello() part of the protocol timed out.
ErrNotEnoughRandomness indicates that encryption failed due to insufficient randomness.
ErrSelfReceive indicates that the client received a message sent by itself, which should never happen.
ErrTimedOut is the signleton error we use if the operation timedout.
ErrUnimplemented indicates the given method isn't implemented.
ErrWrongSession indicates that the given session didn't match the clients expectations.

# Structs

Conn is a struct that obeys the net.Conn interface.
ErrBadPacketSequence indicates that packets arrived out of order from the server (which they shouldn't).
KexBaseArg are arguments common to both Provisioner and Provisionee.
ProvisioneeArg provides the details that a provisionee needs in order to run its course.
ProvisionerArg provides the details that a provisioner needs in order to run its course.

# Interfaces

No description provided by the author
MessageRouter is a stateful message router that will be implemented by JSON/REST calls to the Keybase API server.
Provisionee is an interface that abstracts out the crypto and session management that a provisionee needs to do as part of the protocol.
Provisioner is an interface that abstracts out the crypto and session management that a provisioner needs to do as part of the protocol.

# Type aliases

DeviceID is a 16-byte identifier that each side of key exchange has.
Secret is the 32-byte shared secret identifier.
Seqno increments on every message sent from a Kex sender.
SessionID is a 32-byte session identifier that's derived from the shared session secret.