engine

package
v1.0.0-40 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2015 License: BSD-3-Clause, BSD-3-Clause Imports: 31 Imported by: 0

Documentation

Overview

PaperKeyPrimary creates the initial paper backup key for a user. It differs from the PaperKey engine in that it already knows the signing key and it doesn't offer to revoke any devices, plus it uses a different UI call to display the phrase.

Index

Constants

This section is empty.

Variables

View Source
var ErrDeviceAlreadyRegistered = errors.New("Device already registered (device id exists in config)")
View Source
var ErrDeviceMustBeUnique = errors.New("device name must be unique")
View Source
var ErrKeyGenArgNoDefNoCustom = errors.New("invalid args:  NoDefPGPUid set, but no custom PGPUids")

Functions

func CheckUsernameAvailable

func CheckUsernameAvailable(g *libkb.GlobalContext, s string) (err error)

XXX why is this here?

func CurrentUID

func CurrentUID(g *libkb.GlobalContext) (keybase1.UID, error)

func IsLoggedIn

func IsLoggedIn(e Engine, ctx *Context) (bool, error)

func IsProvisioned

func IsProvisioned(e Engine, ctx *Context) (bool, error)

func OutputSignatureSuccess

func OutputSignatureSuccess(ctx *Context, fingerprint libkb.PGPFingerprint, owner *libkb.User, signatureTime time.Time)

OutputSignatureSuccess prints the details of a successful verification.

func PGPCheckMulti

func PGPCheckMulti(me *libkb.User, allowMulti bool) (err error)

func RunEngine

func RunEngine(e Engine, ctx *Context) (err error)

func SignED25519

func SignED25519(g *libkb.GlobalContext, secretUI libkb.SecretUI,
	arg keybase1.SignED25519Arg) (
	ret keybase1.ED25519SignatureInfo, err error)

SignED25519 signs the given message with the current user's private signing key.

func UnboxBytes32

func UnboxBytes32(g *libkb.GlobalContext, secretUI libkb.SecretUI,
	arg keybase1.UnboxBytes32Arg) (bytes32 keybase1.Bytes32, err error)

UnboxBytes32 decrypts the given message with the current user's private encryption key and the given nonce and peer public key.

Types

type BTCEngine

type BTCEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewBTCEngine

func NewBTCEngine(address string, force bool, g *libkb.GlobalContext) *BTCEngine

func (*BTCEngine) Name

func (e *BTCEngine) Name() string

func (*BTCEngine) Prereqs

func (e *BTCEngine) Prereqs() Prereqs

func (*BTCEngine) RequiredUIs

func (e *BTCEngine) RequiredUIs() []libkb.UIKind

func (*BTCEngine) Run

func (e *BTCEngine) Run(ctx *Context) (err error)

func (*BTCEngine) SubConsumers

func (e *BTCEngine) SubConsumers() []libkb.UIConsumer

type CheckError

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

func (CheckError) Error

func (e CheckError) Error() string

type Context

type Context struct {
	DoctorUI    libkb.DoctorUI
	GPGUI       libkb.GPGUI
	LocksmithUI libkb.LocksmithUI
	LogUI       libkb.LogUI
	LoginUI     libkb.LoginUI
	SecretUI    libkb.SecretUI
	IdentifyUI  libkb.IdentifyUI
	ProveUI     libkb.ProveUI
	ProvisionUI libkb.ProvisionUI

	LoginContext libkb.LoginContext
}

func (*Context) HasUI

func (c *Context) HasUI(kind libkb.UIKind) bool

type DevList

type DevList struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

DevList is an engine that gets a list of all the user's devices.

func NewDevList

func NewDevList(g *libkb.GlobalContext) *DevList

NewDevList creates a DevList engine.

func (*DevList) List

func (d *DevList) List() []keybase1.Device

List returns the devices for a user.

func (*DevList) Name

func (d *DevList) Name() string

func (*DevList) Prereqs

func (d *DevList) Prereqs() Prereqs

func (*DevList) RequiredUIs

func (d *DevList) RequiredUIs() []libkb.UIKind

func (*DevList) Run

func (d *DevList) Run(ctx *Context) error

Run starts the engine.

func (*DevList) SubConsumers

func (d *DevList) SubConsumers() []libkb.UIConsumer

type DeviceAdd

type DeviceAdd struct {
	libkb.Contextified
}

DeviceAdd is an engine.

func NewDeviceAdd

func NewDeviceAdd(g *libkb.GlobalContext) *DeviceAdd

NewDeviceAdd creates a DeviceAdd engine.

func (*DeviceAdd) Name

func (e *DeviceAdd) Name() string

Name is the unique engine name.

func (*DeviceAdd) Prereqs

func (e *DeviceAdd) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*DeviceAdd) RequiredUIs

func (e *DeviceAdd) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*DeviceAdd) Run

func (e *DeviceAdd) Run(ctx *Context) (err error)

Run starts the engine.

func (*DeviceAdd) SubConsumers

func (e *DeviceAdd) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type DeviceKeygen

type DeviceKeygen struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewDeviceKeygen

func NewDeviceKeygen(args *DeviceKeygenArgs, g *libkb.GlobalContext) *DeviceKeygen

NewDeviceKeygen creates a DeviceKeygen engine.

func (*DeviceKeygen) Name

func (e *DeviceKeygen) Name() string

Name is the unique engine name.

func (*DeviceKeygen) Prereqs

func (e *DeviceKeygen) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*DeviceKeygen) Push

func (e *DeviceKeygen) Push(ctx *Context, pargs *DeviceKeygenPushArgs) error

Push pushes the generated keys to the api server and stores the local key security server half on the api server as well.

func (*DeviceKeygen) RequiredUIs

func (e *DeviceKeygen) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*DeviceKeygen) Run

func (e *DeviceKeygen) Run(ctx *Context) error

Run starts the engine.

func (*DeviceKeygen) SigningKey

func (e *DeviceKeygen) SigningKey() libkb.NaclKeyPair

func (*DeviceKeygen) SigningKeyPublic

func (e *DeviceKeygen) SigningKeyPublic() (libkb.NaclSigningKeyPublic, error)

func (*DeviceKeygen) SubConsumers

func (e *DeviceKeygen) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type DeviceKeygenArgs

type DeviceKeygenArgs struct {
	Me         *libkb.User
	DeviceID   keybase1.DeviceID
	DeviceName string
	DeviceType string
	Lks        *libkb.LKSec
}

type DeviceKeygenPushArgs

type DeviceKeygenPushArgs struct {
	IsEldest       bool
	SkipSignerPush bool
	Signer         libkb.GenericKey
	EldestKID      keybase1.KID
	User           *libkb.User // optional
}

DeviceKeygenPushArgs determines how the push will run. There are currently three different paths it can take:

1. this device is the eldest device: pushes eldest signing key, encryption subkey. (IsEldest => true)

2. this device is a sibling (but we're not in a key exchange scenario): pushes sibkey signing key, encryption subkey. (IsEldest => False, SkipSignerPush => false, Signer != nil, EldestKID != nil)

3. this device is a sibling, but another device pushed the signing key, so skip that part. (IsEldest => False, SkipSignerPush => true, Signer != nil, EldestKID != nil)

The User argument is optional, but it is necessary if the user's sigchain changes between key generation and key push.

type DeviceRegister

type DeviceRegister struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewDeviceRegister

func NewDeviceRegister(args *DeviceRegisterArgs, g *libkb.GlobalContext) *DeviceRegister

func (*DeviceRegister) DeviceID

func (d *DeviceRegister) DeviceID() keybase1.DeviceID

func (*DeviceRegister) Name

func (d *DeviceRegister) Name() string

func (*DeviceRegister) Prereqs

func (d *DeviceRegister) Prereqs() Prereqs

func (*DeviceRegister) RequiredUIs

func (d *DeviceRegister) RequiredUIs() []libkb.UIKind

func (*DeviceRegister) Run

func (d *DeviceRegister) Run(ctx *Context) error

func (*DeviceRegister) SubConsumers

func (d *DeviceRegister) SubConsumers() []libkb.UIConsumer

type DeviceRegisterArgs

type DeviceRegisterArgs struct {
	Me   *libkb.User
	Name string
	Lks  *libkb.LKSec
}

type DeviceWrap

type DeviceWrap struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

DeviceWrap is an engine that wraps DeviceRegister and DeviceKeygen.

func NewDeviceWrap

func NewDeviceWrap(args *DeviceWrapArgs, g *libkb.GlobalContext) *DeviceWrap

NewDeviceWrap creates a DeviceWrap engine.

func (*DeviceWrap) Name

func (e *DeviceWrap) Name() string

Name is the unique engine name.

func (*DeviceWrap) Prereqs

func (e *DeviceWrap) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*DeviceWrap) RequiredUIs

func (e *DeviceWrap) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*DeviceWrap) Run

func (e *DeviceWrap) Run(ctx *Context) error

Run starts the engine.

func (*DeviceWrap) SigningKey

func (e *DeviceWrap) SigningKey() libkb.GenericKey

func (*DeviceWrap) SubConsumers

func (e *DeviceWrap) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type DeviceWrapArgs

type DeviceWrapArgs struct {
	Me         *libkb.User
	DeviceName string
	DeviceType string
	Lks        *libkb.LKSec
	IsEldest   bool
	Signer     libkb.GenericKey
	EldestKID  keybase1.KID
}

type Doctor

type Doctor struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

Doctor is an engine.

func NewDoctor

func NewDoctor(g *libkb.GlobalContext) *Doctor

NewDoctor creates a Doctor engine.

func (*Doctor) Name

func (e *Doctor) Name() string

Name is the unique engine name.

func (*Doctor) Prereqs

func (e *Doctor) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*Doctor) RequiredUIs

func (e *Doctor) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*Doctor) Run

func (e *Doctor) Run(ctx *Context) error

Run starts the engine.

func (*Doctor) SubConsumers

func (e *Doctor) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type Engine

type Engine interface {
	Run(ctx *Context) error
	Prereqs() Prereqs
	libkb.UIConsumer
	G() *libkb.GlobalContext
}

type FavoriteAdd

type FavoriteAdd struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

FavoriteAdd is an engine.

func NewFavoriteAdd

func NewFavoriteAdd(arg *keybase1.FavoriteAddArg, g *libkb.GlobalContext) *FavoriteAdd

NewFavoriteAdd creates a FavoriteAdd engine.

func (*FavoriteAdd) Name

func (e *FavoriteAdd) Name() string

Name is the unique engine name.

func (*FavoriteAdd) Prereqs

func (e *FavoriteAdd) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*FavoriteAdd) RequiredUIs

func (e *FavoriteAdd) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*FavoriteAdd) Run

func (e *FavoriteAdd) Run(ctx *Context) error

Run starts the engine.

func (*FavoriteAdd) SubConsumers

func (e *FavoriteAdd) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type FavoriteDelete

type FavoriteDelete struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

FavoriteDelete is an engine.

func NewFavoriteDelete

func NewFavoriteDelete(arg *keybase1.FavoriteDeleteArg, g *libkb.GlobalContext) *FavoriteDelete

NewFavoriteDelete creates a FavoriteDelete engine.

func (*FavoriteDelete) Name

func (e *FavoriteDelete) Name() string

Name is the unique engine name.

func (*FavoriteDelete) Prereqs

func (e *FavoriteDelete) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*FavoriteDelete) RequiredUIs

func (e *FavoriteDelete) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*FavoriteDelete) Run

func (e *FavoriteDelete) Run(ctx *Context) error

Run starts the engine.

func (*FavoriteDelete) SubConsumers

func (e *FavoriteDelete) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type FavoriteList

type FavoriteList struct {
	libkb.Contextified
}

FavoriteList is an engine.

func NewFavoriteList

func NewFavoriteList(g *libkb.GlobalContext) *FavoriteList

NewFavoriteList creates a FavoriteList engine.

func (*FavoriteList) Favorites

func (e *FavoriteList) Favorites() []keybase1.Folder

Favorites returns the list of favorites that Run generated.

func (*FavoriteList) Name

func (e *FavoriteList) Name() string

Name is the unique engine name.

func (*FavoriteList) Prereqs

func (e *FavoriteList) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*FavoriteList) RequiredUIs

func (e *FavoriteList) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*FavoriteList) Run

func (e *FavoriteList) Run(ctx *Context) error

Run starts the engine.

func (*FavoriteList) SubConsumers

func (e *FavoriteList) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type GPGImportKeyArg

type GPGImportKeyArg struct {
	Query      string
	Signer     libkb.GenericKey
	AllowMulti bool
	SkipImport bool
	OnlyImport bool
	Me         *libkb.User
	Lks        *libkb.LKSec
}

type GPGImportKeyEngine

type GPGImportKeyEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewGPGImportKeyEngine

func NewGPGImportKeyEngine(arg *GPGImportKeyArg, g *libkb.GlobalContext) *GPGImportKeyEngine

func (*GPGImportKeyEngine) LastKey

func (e *GPGImportKeyEngine) LastKey() *libkb.PGPKeyBundle

func (*GPGImportKeyEngine) Name

func (e *GPGImportKeyEngine) Name() string

func (*GPGImportKeyEngine) Prereqs

func (e *GPGImportKeyEngine) Prereqs() Prereqs

func (*GPGImportKeyEngine) RequiredUIs

func (e *GPGImportKeyEngine) RequiredUIs() []libkb.UIKind

func (*GPGImportKeyEngine) Run

func (e *GPGImportKeyEngine) Run(ctx *Context) (err error)

func (*GPGImportKeyEngine) SubConsumers

func (e *GPGImportKeyEngine) SubConsumers() []libkb.UIConsumer

func (*GPGImportKeyEngine) WantsGPG

func (e *GPGImportKeyEngine) WantsGPG(ctx *Context) (bool, error)

type IDEngine

type IDEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

IDEnginge is the type used by cmd_id Run, daemon id handler.

func NewIDEngine

func NewIDEngine(arg *IDEngineArg, g *libkb.GlobalContext) *IDEngine

func (*IDEngine) Name

func (e *IDEngine) Name() string

func (*IDEngine) Prereqs

func (e *IDEngine) Prereqs() Prereqs

func (*IDEngine) RequiredUIs

func (e *IDEngine) RequiredUIs() []libkb.UIKind

func (*IDEngine) Result

func (e *IDEngine) Result() *IDRes

func (*IDEngine) Run

func (e *IDEngine) Run(ctx *Context) (err error)

func (*IDEngine) SubConsumers

func (e *IDEngine) SubConsumers() []libkb.UIConsumer

type IDEngineArg

type IDEngineArg struct {
	UserAssertion    string
	TrackStatement   bool // output a track statement
	ForceRemoteCheck bool // don't use proof cache
}

func ImportIDEngineArg

func ImportIDEngineArg(a keybase1.IdentifyArg) (ret IDEngineArg)

func (IDEngineArg) Export

func (a IDEngineArg) Export() (res keybase1.IdentifyArg)

type IDRes

type IDRes struct {
	Outcome           *libkb.IdentifyOutcome
	User              *libkb.User
	TrackToken        libkb.IdentifyCacheToken
	ComputedKeyFamily *libkb.ComputedKeyFamily
}

func (*IDRes) Export

func (ir *IDRes) Export() *keybase1.IdentifyRes

type Identify

type Identify struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

Identify is an engine to identify a user.

func NewIdentify

func NewIdentify(arg *IdentifyArg, g *libkb.GlobalContext) *Identify

NewIdentify creates a Identify engine.

func (*Identify) Name

func (e *Identify) Name() string

Name is the unique engine name.

func (*Identify) Outcome

func (e *Identify) Outcome() *libkb.IdentifyOutcome

func (*Identify) Prereqs

func (e *Identify) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*Identify) RequiredUIs

func (e *Identify) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*Identify) Run

func (e *Identify) Run(ctx *Context) error

Run starts the engine.

func (*Identify) SubConsumers

func (e *Identify) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

func (*Identify) TrackInstructions

func (e *Identify) TrackInstructions() *libkb.TrackInstructions

func (*Identify) TrackToken

func (e *Identify) TrackToken() libkb.IdentifyCacheToken

func (*Identify) User

func (e *Identify) User() *libkb.User

type IdentifyArg

type IdentifyArg struct {
	TargetUsername   string // The user being identified, leave blank to identify self
	WithTracking     bool   // true if want tracking statement for logged in user on TargetUsername
	AllowSelf        bool   // if we're allowed to id/track ourself
	ForceRemoteCheck bool   // true: skip proof cache and perform all remote proof checks

	// When tracking is being performed, the identify engine is used with a tracking ui.
	// These options are sent to the ui based on command line options.
	// For normal identify, safe to leave these in their default zero state.
	TrackOptions keybase1.TrackOptions
}

func NewIdentifyArg

func NewIdentifyArg(targetUsername string, withTracking, forceRemoteCheck bool) *IdentifyArg

func NewIdentifyTrackArg

func NewIdentifyTrackArg(targetUsername string, withTracking, forceRemoteCheck bool, options keybase1.TrackOptions) *IdentifyArg

func (*IdentifyArg) SelfID

func (ia *IdentifyArg) SelfID() bool

type Kex2Provisionee

type Kex2Provisionee struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

Kex2Provisionee is an engine.

func NewKex2Provisionee

func NewKex2Provisionee(g *libkb.GlobalContext, device *libkb.Device, secret kex2.Secret) *Kex2Provisionee

NewKex2Provisionee creates a Kex2Provisionee engine.

func (*Kex2Provisionee) APIArgs

func (e *Kex2Provisionee) APIArgs() (token, csrf string)

APIArgs implements libkb.SessionReader interface.

func (*Kex2Provisionee) AddSecret

func (e *Kex2Provisionee) AddSecret(s kex2.Secret)

AddSecret inserts a received secret into the provisionee's secret channel.

func (*Kex2Provisionee) GetLogFactory

func (e *Kex2Provisionee) GetLogFactory() rpc.LogFactory

GetLogFactory implements GetLogFactory in kex2.Provisionee.

func (*Kex2Provisionee) GetName

func (e *Kex2Provisionee) GetName() string

GetName implements libkb.UserBasic interface.

func (*Kex2Provisionee) GetUID

func (e *Kex2Provisionee) GetUID() keybase1.UID

GetUID implements libkb.UserBasic interface.

func (*Kex2Provisionee) HandleDidCounterSign

func (e *Kex2Provisionee) HandleDidCounterSign(sig []byte) (err error)

HandleDidCounterSign implements HandleDidCounterSign in kex2.Provisionee interface.

func (*Kex2Provisionee) HandleHello

func (e *Kex2Provisionee) HandleHello(harg keybase1.HelloArg) (res keybase1.HelloRes, err error)

HandleHello implements HandleHello in kex2.Provisionee.

func (*Kex2Provisionee) Name

func (e *Kex2Provisionee) Name() string

Name is the unique engine name.

func (*Kex2Provisionee) Prereqs

func (e *Kex2Provisionee) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*Kex2Provisionee) RequiredUIs

func (e *Kex2Provisionee) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*Kex2Provisionee) Run

func (e *Kex2Provisionee) Run(ctx *Context) error

Run starts the engine.

func (*Kex2Provisionee) SubConsumers

func (e *Kex2Provisionee) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type Kex2Provisioner

type Kex2Provisioner struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

Kex2Provisioner is an engine.

func NewKex2Provisioner

func NewKex2Provisioner(g *libkb.GlobalContext, secret kex2.Secret) *Kex2Provisioner

NewKex2Provisioner creates a Kex2Provisioner engine.

func (*Kex2Provisioner) AddSecret

func (e *Kex2Provisioner) AddSecret(s kex2.Secret)

AddSecret inserts a received secret into the provisioner's secret channel.

func (*Kex2Provisioner) CounterSign

func (e *Kex2Provisioner) CounterSign(input keybase1.HelloRes) (sig []byte, err error)

CounterSign implements CounterSign in kex2.Provisioner.

func (*Kex2Provisioner) GetHelloArg

func (e *Kex2Provisioner) GetHelloArg() (arg keybase1.HelloArg, err error)

GetHelloArg implements GetHelloArg in kex2.Provisioner.

func (*Kex2Provisioner) GetLogFactory

func (e *Kex2Provisioner) GetLogFactory() rpc.LogFactory

GetLogFactory implements GetLogFactory in kex2.Provisioner.

func (*Kex2Provisioner) Name

func (e *Kex2Provisioner) Name() string

Name is the unique engine name.

func (*Kex2Provisioner) Prereqs

func (e *Kex2Provisioner) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*Kex2Provisioner) RequiredUIs

func (e *Kex2Provisioner) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*Kex2Provisioner) Run

func (e *Kex2Provisioner) Run(ctx *Context) (err error)

Run starts the provisioner engine.

func (*Kex2Provisioner) SubConsumers

func (e *Kex2Provisioner) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type KexCommon

type KexCommon struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

KexCommon contains common functions for all kex engines. It should be embedded in the kex engines.

type KexNewDevice

type KexNewDevice struct {
	KexCommon
	// contains filtered or unexported fields
}

KexNewDevice is an engine for running the Device Key Exchange Protocol, forward version. It should be called on the new device (referred to as device Y in comments).

func NewKexNewDevice

func NewKexNewDevice(pps *libkb.PassphraseStream, args *KexNewDeviceArgs, gc *libkb.GlobalContext) *KexNewDevice

NewKexNewDevice creates a KexNewDevice engine.

func (*KexNewDevice) Cancel

func (k *KexNewDevice) Cancel() error

func (*KexNewDevice) GetDevice

func (k *KexNewDevice) GetDevice() *libkb.Device

func (*KexNewDevice) Name

func (k *KexNewDevice) Name() string

func (*KexNewDevice) Prereqs

func (k *KexNewDevice) Prereqs() Prereqs

func (*KexNewDevice) RequiredUIs

func (k *KexNewDevice) RequiredUIs() []libkb.UIKind

func (*KexNewDevice) Run

func (k *KexNewDevice) Run(ctx *Context) error

Run starts the engine.

func (*KexNewDevice) SubConsumers

func (k *KexNewDevice) SubConsumers() []libkb.UIConsumer

type KexNewDeviceArgs

type KexNewDeviceArgs struct {
	User    *libkb.User       // the user who owns device Y and device X
	DevType string            // type of this new device Y (e.g. desktop, mobile)
	DevDesc string            // description of this new device Y
	Dst     keybase1.DeviceID // device ID of existing provisioned device (device X)
	DstName string            // device name of the existing provisioned device (device X)
}

type KexProvisioner

type KexProvisioner struct {
	KexCommon
	// contains filtered or unexported fields
}

func NewKexProvisioner

func NewKexProvisioner(g *libkb.GlobalContext, secretPhrase string) *KexProvisioner

NewKexProvisioner creates a sibkey add engine. This runs on device X to provision device Y in forward kex. The secretPhrase is needed before this engine can run because the weak id used in receive() is based on it.

func (*KexProvisioner) Cancel

func (k *KexProvisioner) Cancel() error

func (*KexProvisioner) Name

func (k *KexProvisioner) Name() string

func (*KexProvisioner) Prereqs

func (k *KexProvisioner) Prereqs() Prereqs

func (*KexProvisioner) RequiredUIs

func (k *KexProvisioner) RequiredUIs() []libkb.UIKind

func (*KexProvisioner) Run

func (k *KexProvisioner) Run(ctx *Context) error

Run starts the engine.

func (*KexProvisioner) SubConsumers

func (k *KexProvisioner) SubConsumers() []libkb.UIConsumer

type ListTrackersEngine

type ListTrackersEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

TrackerList is an engine to get a list of user's trackers (other users tracking this user).

func NewListTrackers

func NewListTrackers(uid keybase1.UID, g *libkb.GlobalContext) *ListTrackersEngine

NewListTrackers creates a TrackerList engine for uid.

func NewListTrackersByName

func NewListTrackersByName(username string) *ListTrackersEngine

NewListTrackersByName creates a TrackerList engine that will do a lookup by username.

func NewListTrackersSelf

func NewListTrackersSelf() *ListTrackersEngine

func (*ListTrackersEngine) ExportedList

func (e *ListTrackersEngine) ExportedList() (ret []keybase1.Tracker)

func (*ListTrackersEngine) List

func (e *ListTrackersEngine) List() []libkb.Tracker

List returns the array of trackers for this user.

func (*ListTrackersEngine) Name

func (e *ListTrackersEngine) Name() string

Name is the unique engine name.

func (*ListTrackersEngine) Prereqs

func (e *ListTrackersEngine) Prereqs() Prereqs

GetPrereqs returns the engine prereqs (none).

func (*ListTrackersEngine) RequiredUIs

func (e *ListTrackersEngine) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*ListTrackersEngine) Run

func (e *ListTrackersEngine) Run(ctx *Context) error

Run starts the engine.

func (*ListTrackersEngine) SubConsumers

func (e *ListTrackersEngine) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type ListTrackingEngine

type ListTrackingEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func (*ListTrackingEngine) JSONResult

func (e *ListTrackingEngine) JSONResult() string

func (*ListTrackingEngine) Name

func (e *ListTrackingEngine) Name() string

func (*ListTrackingEngine) Prereqs

func (e *ListTrackingEngine) Prereqs() Prereqs

func (*ListTrackingEngine) RequiredUIs

func (e *ListTrackingEngine) RequiredUIs() []libkb.UIKind

func (*ListTrackingEngine) Run

func (e *ListTrackingEngine) Run(ctx *Context) (err error)

func (*ListTrackingEngine) SubConsumers

func (e *ListTrackingEngine) SubConsumers() []libkb.UIConsumer

func (*ListTrackingEngine) TableResult

func (e *ListTrackingEngine) TableResult() []keybase1.UserSummary

type ListTrackingEngineArg

type ListTrackingEngineArg struct {
	JSON    bool
	Verbose bool
	Filter  string
}

type Locksmith

type Locksmith struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewLocksmith

func NewLocksmith(arg *LocksmithArg, g *libkb.GlobalContext) *Locksmith

func (*Locksmith) Cancel

func (d *Locksmith) Cancel() error

func (*Locksmith) Name

func (d *Locksmith) Name() string

func (*Locksmith) Prereqs

func (d *Locksmith) Prereqs() Prereqs

func (*Locksmith) RequiredUIs

func (d *Locksmith) RequiredUIs() []libkb.UIKind

func (*Locksmith) Run

func (d *Locksmith) Run(ctx *Context) error

func (*Locksmith) Status

func (d *Locksmith) Status() LocksmithStatus

func (*Locksmith) SubConsumers

func (d *Locksmith) SubConsumers() []libkb.UIConsumer

type LocksmithArg

type LocksmithArg struct {
	User      *libkb.User
	CheckOnly bool
}

type LocksmithStatus

type LocksmithStatus struct {
	CurrentDeviceOk  bool
	NoKeys           bool
	HavePGP          bool
	HaveActiveDevice bool
}

type LoginEngine

type LoginEngine struct {
	libkb.Contextified

	SkipLocksmith bool
	// contains filtered or unexported fields
}

func NewLoginWithPassphraseEngine

func NewLoginWithPassphraseEngine(username, passphrase string, storeSecret bool, gc *libkb.GlobalContext) *LoginEngine

func NewLoginWithPromptEngine

func NewLoginWithPromptEngine(username string, gc *libkb.GlobalContext) *LoginEngine

func NewLoginWithPromptEngineSkipLocksmith

func NewLoginWithPromptEngineSkipLocksmith(username string, gc *libkb.GlobalContext) *LoginEngine

func NewLoginWithStoredSecretEngine

func NewLoginWithStoredSecretEngine(username string, gc *libkb.GlobalContext) *LoginEngine

func (*LoginEngine) Cancel

func (e *LoginEngine) Cancel() error

func (*LoginEngine) Name

func (e *LoginEngine) Name() string

func (*LoginEngine) Prereqs

func (e *LoginEngine) Prereqs() Prereqs

func (*LoginEngine) RequiredUIs

func (e *LoginEngine) RequiredUIs() []libkb.UIKind

func (*LoginEngine) Run

func (e *LoginEngine) Run(ctx *Context) error

func (*LoginEngine) SubConsumers

func (e *LoginEngine) SubConsumers() []libkb.UIConsumer

func (*LoginEngine) User

func (e *LoginEngine) User() *libkb.User

type PGPDecrypt

type PGPDecrypt struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PGPDecrypt decrypts data read from source into sink for the logged in user.

func NewPGPDecrypt

func NewPGPDecrypt(arg *PGPDecryptArg, g *libkb.GlobalContext) *PGPDecrypt

NewPGPDecrypt creates a PGPDecrypt engine.

func (*PGPDecrypt) Name

func (e *PGPDecrypt) Name() string

Name is the unique engine name.

func (*PGPDecrypt) Owner

func (e *PGPDecrypt) Owner() *libkb.User

func (*PGPDecrypt) Prereqs

func (e *PGPDecrypt) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PGPDecrypt) RequiredUIs

func (e *PGPDecrypt) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PGPDecrypt) Run

func (e *PGPDecrypt) Run(ctx *Context) (err error)

Run starts the engine.

func (*PGPDecrypt) SignatureStatus

func (e *PGPDecrypt) SignatureStatus() *libkb.SignatureStatus

func (*PGPDecrypt) SubConsumers

func (e *PGPDecrypt) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type PGPDecryptArg

type PGPDecryptArg struct {
	Source       io.Reader
	Sink         io.WriteCloser
	AssertSigned bool
	SignedBy     string
	TrackOptions keybase1.TrackOptions
}

type PGPEncrypt

type PGPEncrypt struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PGPEncrypt encrypts data read from a source into a sink for a set of users. It will track them if necessary.

func NewPGPEncrypt

func NewPGPEncrypt(arg *PGPEncryptArg, g *libkb.GlobalContext) *PGPEncrypt

NewPGPEncrypt creates a PGPEncrypt engine.

func (*PGPEncrypt) Name

func (e *PGPEncrypt) Name() string

Name is the unique engine name.

func (*PGPEncrypt) Prereqs

func (e *PGPEncrypt) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PGPEncrypt) RequiredUIs

func (e *PGPEncrypt) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PGPEncrypt) Run

func (e *PGPEncrypt) Run(ctx *Context) error

Run starts the engine.

func (*PGPEncrypt) SubConsumers

func (e *PGPEncrypt) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type PGPEncryptArg

type PGPEncryptArg struct {
	Recips       []string // user assertions
	Source       io.Reader
	Sink         io.WriteCloser
	NoSign       bool
	NoSelf       bool
	BinaryOutput bool
	KeyQuery     string
	TrackOptions keybase1.TrackOptions
}

type PGPKey

type PGPKey struct {
	KeyFingerprint string `json:"key_fingerprint"`
	Bits           int    `json:"bits"`
	Algo           int    `json:"algo"`
}

func (*PGPKey) Export

func (p *PGPKey) Export() keybase1.PublicKey

type PGPKeyExportEngine

type PGPKeyExportEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func (*PGPKeyExportEngine) Name

func (e *PGPKeyExportEngine) Name() string

func (*PGPKeyExportEngine) Prereqs

func (e *PGPKeyExportEngine) Prereqs() Prereqs

func (*PGPKeyExportEngine) RequiredUIs

func (e *PGPKeyExportEngine) RequiredUIs() []libkb.UIKind

func (*PGPKeyExportEngine) Results

func (e *PGPKeyExportEngine) Results() []keybase1.KeyInfo

func (*PGPKeyExportEngine) Run

func (e *PGPKeyExportEngine) Run(ctx *Context) (err error)

func (*PGPKeyExportEngine) SubConsumers

func (e *PGPKeyExportEngine) SubConsumers() []libkb.UIConsumer

type PGPKeyImportEngine

type PGPKeyImportEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewPGPKeyImportEngine

func NewPGPKeyImportEngine(arg PGPKeyImportEngineArg) *PGPKeyImportEngine

func NewPGPKeyImportEngineFromBytes

func NewPGPKeyImportEngineFromBytes(key []byte, pushPrivate bool, gc *libkb.GlobalContext) (eng *PGPKeyImportEngine, err error)

func (*PGPKeyImportEngine) Name

func (e *PGPKeyImportEngine) Name() string

func (*PGPKeyImportEngine) Prereqs

func (e *PGPKeyImportEngine) Prereqs() Prereqs

func (*PGPKeyImportEngine) RequiredUIs

func (e *PGPKeyImportEngine) RequiredUIs() []libkb.UIKind

func (*PGPKeyImportEngine) Run

func (e *PGPKeyImportEngine) Run(ctx *Context) error

func (*PGPKeyImportEngine) SubConsumers

func (e *PGPKeyImportEngine) SubConsumers() []libkb.UIConsumer

type PGPKeyImportEngineArg

type PGPKeyImportEngineArg struct {
	Gen        *libkb.PGPGenArg
	Pregen     *libkb.PGPKeyBundle
	SigningKey libkb.GenericKey
	Me         *libkb.User
	Ctx        *libkb.GlobalContext
	Lks        *libkb.LKSec
	NoSave     bool
	PushSecret bool
	OnlySave   bool
	AllowMulti bool
	DoExport   bool
	DoUnlock   bool
}

func ImportPGPKeyImportEngineArg

func ImportPGPKeyImportEngineArg(a keybase1.PGPKeyGenArg) (ret PGPKeyImportEngineArg)

func (*PGPKeyImportEngineArg) Export

func (a *PGPKeyImportEngineArg) Export() (ret keybase1.PGPKeyGenArg)

type PGPKeyfinder

type PGPKeyfinder struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PGPKeyfinder is an engine to find PGP Keys for users (loaded by assertions), possibly tracking them if necessary.

func NewPGPKeyfinder

func NewPGPKeyfinder(arg *PGPKeyfinderArg, g *libkb.GlobalContext) *PGPKeyfinder

NewPGPKeyfinder creates a PGPKeyfinder engine.

func (*PGPKeyfinder) Name

func (e *PGPKeyfinder) Name() string

Name is the unique engine name.

func (*PGPKeyfinder) Prereqs

func (e *PGPKeyfinder) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PGPKeyfinder) RequiredUIs

func (e *PGPKeyfinder) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PGPKeyfinder) Run

func (e *PGPKeyfinder) Run(ctx *Context) error

Run starts the engine.

func (*PGPKeyfinder) SubConsumers

func (e *PGPKeyfinder) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

func (*PGPKeyfinder) UsersPlusKeys

func (e *PGPKeyfinder) UsersPlusKeys() []*UserPlusKeys

UsersPlusKeys returns the users found while running the engine, plus their pgp keys.

type PGPKeyfinderArg

type PGPKeyfinderArg struct {
	Users        []string
	SkipTrack    bool
	TrackOptions keybase1.TrackOptions
}

type PGPPullEngine

type PGPPullEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewPGPPullEngine

func NewPGPPullEngine(arg *PGPPullEngineArg, g *libkb.GlobalContext) *PGPPullEngine

func (*PGPPullEngine) Name

func (e *PGPPullEngine) Name() string

func (*PGPPullEngine) Prereqs

func (e *PGPPullEngine) Prereqs() Prereqs

func (*PGPPullEngine) RequiredUIs

func (e *PGPPullEngine) RequiredUIs() []libkb.UIKind

func (*PGPPullEngine) Run

func (e *PGPPullEngine) Run(ctx *Context) error

func (*PGPPullEngine) SubConsumers

func (e *PGPPullEngine) SubConsumers() []libkb.UIConsumer

type PGPPullEngineArg

type PGPPullEngineArg struct {
	UserAsserts []string
}

type PGPSignArg

type PGPSignArg struct {
	Sink   io.WriteCloser
	Source io.ReadCloser
	Opts   keybase1.PGPSignOptions
}

type PGPSignEngine

type PGPSignEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewPGPSignEngine

func NewPGPSignEngine(arg *PGPSignArg, g *libkb.GlobalContext) *PGPSignEngine

func (*PGPSignEngine) Name

func (p *PGPSignEngine) Name() string

func (*PGPSignEngine) Prereqs

func (p *PGPSignEngine) Prereqs() Prereqs

func (*PGPSignEngine) RequiredUIs

func (p *PGPSignEngine) RequiredUIs() []libkb.UIKind

func (*PGPSignEngine) Run

func (p *PGPSignEngine) Run(ctx *Context) (err error)

func (*PGPSignEngine) SubConsumers

func (p *PGPSignEngine) SubConsumers() []libkb.UIConsumer

type PGPUpdateEngine

type PGPUpdateEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewPGPUpdateEngine

func NewPGPUpdateEngine(fingerprints []string, all bool, g *libkb.GlobalContext) *PGPUpdateEngine

func (*PGPUpdateEngine) Name

func (e *PGPUpdateEngine) Name() string

func (*PGPUpdateEngine) Prereqs

func (e *PGPUpdateEngine) Prereqs() Prereqs

func (*PGPUpdateEngine) RequiredUIs

func (e *PGPUpdateEngine) RequiredUIs() []libkb.UIKind

func (*PGPUpdateEngine) Run

func (e *PGPUpdateEngine) Run(ctx *Context) error

func (*PGPUpdateEngine) SubConsumers

func (e *PGPUpdateEngine) SubConsumers() []libkb.UIConsumer

type PGPVerify

type PGPVerify struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PGPVerify is an engine.

func NewPGPVerify

func NewPGPVerify(arg *PGPVerifyArg, g *libkb.GlobalContext) *PGPVerify

NewPGPVerify creates a PGPVerify engine.

func (*PGPVerify) Name

func (e *PGPVerify) Name() string

Name is the unique engine name.

func (*PGPVerify) Owner

func (e *PGPVerify) Owner() *libkb.User

func (*PGPVerify) Prereqs

func (e *PGPVerify) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PGPVerify) RequiredUIs

func (e *PGPVerify) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PGPVerify) Run

func (e *PGPVerify) Run(ctx *Context) error

Run starts the engine.

func (*PGPVerify) SignatureStatus

func (e *PGPVerify) SignatureStatus() *libkb.SignatureStatus

func (*PGPVerify) SubConsumers

func (e *PGPVerify) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type PGPVerifyArg

type PGPVerifyArg struct {
	Source       io.Reader
	Signature    []byte
	SignedBy     string
	TrackOptions keybase1.TrackOptions
}

type PaperKey

type PaperKey struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PaperKey is an engine.

func NewPaperKey

func NewPaperKey(g *libkb.GlobalContext) *PaperKey

NewPaperKey creates a PaperKey engine.

func (*PaperKey) Name

func (e *PaperKey) Name() string

Name is the unique engine name.

func (*PaperKey) Passphrase

func (e *PaperKey) Passphrase() string

func (*PaperKey) Prereqs

func (e *PaperKey) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PaperKey) RequiredUIs

func (e *PaperKey) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PaperKey) Run

func (e *PaperKey) Run(ctx *Context) error

Run starts the engine.

func (*PaperKey) SubConsumers

func (e *PaperKey) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type PaperKeyGen

type PaperKeyGen struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PaperKeyGen is an engine.

func NewPaperKeyGen

func NewPaperKeyGen(arg *PaperKeyGenArg, g *libkb.GlobalContext) *PaperKeyGen

NewPaperKeyGen creates a PaperKeyGen engine.

func (*PaperKeyGen) EncKey

func (e *PaperKeyGen) EncKey() libkb.GenericKey

func (*PaperKeyGen) Name

func (e *PaperKeyGen) Name() string

Name is the unique engine name.

func (*PaperKeyGen) Prereqs

func (e *PaperKeyGen) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PaperKeyGen) RequiredUIs

func (e *PaperKeyGen) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PaperKeyGen) Run

func (e *PaperKeyGen) Run(ctx *Context) error

Run starts the engine.

func (*PaperKeyGen) SigKey

func (e *PaperKeyGen) SigKey() libkb.GenericKey

func (*PaperKeyGen) SubConsumers

func (e *PaperKeyGen) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type PaperKeyGenArg

type PaperKeyGenArg struct {
	Passphrase libkb.PaperKeyPhrase
	SkipPush   bool
	Me         *libkb.User
	SigningKey libkb.GenericKey
}

type PaperKeyPrimary

type PaperKeyPrimary struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PaperKeyPrimary is an engine.

func NewPaperKeyPrimary

func NewPaperKeyPrimary(g *libkb.GlobalContext, args *PaperKeyPrimaryArgs) *PaperKeyPrimary

NewPaperKeyPrimary creates a PaperKeyPrimary engine.

func (*PaperKeyPrimary) Name

func (e *PaperKeyPrimary) Name() string

Name is the unique engine name.

func (*PaperKeyPrimary) Prereqs

func (e *PaperKeyPrimary) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*PaperKeyPrimary) RequiredUIs

func (e *PaperKeyPrimary) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PaperKeyPrimary) Run

func (e *PaperKeyPrimary) Run(ctx *Context) error

Run starts the engine.

func (*PaperKeyPrimary) SubConsumers

func (e *PaperKeyPrimary) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type PaperKeyPrimaryArgs

type PaperKeyPrimaryArgs struct {
	SigningKey libkb.GenericKey
	Me         *libkb.User
}

type PassphraseChange

type PassphraseChange struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

PassphraseChange engine is used for changing the user's passphrase, either by replacement or by force.

func NewPassphraseChange

NewPassphraseChange creates a new engine for changing user passphrases, either if the current passphrase is known, or in "force" mode

func (*PassphraseChange) Name

func (c *PassphraseChange) Name() string

Name provides the name of the engine for the engine interface

func (*PassphraseChange) Prereqs

func (c *PassphraseChange) Prereqs() Prereqs

Prereqs returns engine prereqs

func (*PassphraseChange) RequiredUIs

func (c *PassphraseChange) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*PassphraseChange) Run

func (c *PassphraseChange) Run(ctx *Context) (err error)

Run the engine

func (*PassphraseChange) SubConsumers

func (c *PassphraseChange) SubConsumers() []libkb.UIConsumer

SubConsumers requires the other UI consumers of this engine

type Prereqs

type Prereqs struct {
	Session bool
	Device  bool
}

type Proofs

type Proofs struct {
	Social  SocialProofList `json:"social,omitempty"`
	Web     WebProofList    `json:"web,omitempty"`
	PGPKeys []*PGPKey       `json:"pgp_keys,omitempty"`
}

func (*Proofs) Export

func (p *Proofs) Export() keybase1.Proofs

type Prove

type Prove struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

Prove is an engine used for proving ownership of remote accounts, like Twitter, GitHub, etc.

func NewProve

func NewProve(arg *keybase1.StartProofArg, g *libkb.GlobalContext) *Prove

NewProve makes a new Prove Engine given an RPC-friendly ProveArg.

func (*Prove) Name

func (p *Prove) Name() string

Name provides the name of this engine for the engine interface contract

func (*Prove) Prereqs

func (p *Prove) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*Prove) RequiredUIs

func (p *Prove) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*Prove) Run

func (p *Prove) Run(ctx *Context) (err error)

Run runs the Prove engine, performing all steps of the proof process.

func (*Prove) SigID

func (p *Prove) SigID() keybase1.SigID

SigID returns the signature id of the proof posted to the server.

func (*Prove) SubConsumers

func (p *Prove) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type ProveCheck

type ProveCheck struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

ProveCheck is an engine.

func NewProveCheck

func NewProveCheck(g *libkb.GlobalContext, sigID keybase1.SigID) *ProveCheck

NewProveCheck creates a ProveCheck engine.

func (*ProveCheck) Name

func (e *ProveCheck) Name() string

Name is the unique engine name.

func (*ProveCheck) Prereqs

func (e *ProveCheck) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*ProveCheck) RequiredUIs

func (e *ProveCheck) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*ProveCheck) Results

func (e *ProveCheck) Results() (found bool, status keybase1.ProofStatus, proofText string)

func (*ProveCheck) Run

func (e *ProveCheck) Run(ctx *Context) error

Run starts the engine.

func (*ProveCheck) SubConsumers

func (e *ProveCheck) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type ResetEngine

type ResetEngine struct {
	libkb.Contextified
}

func NewResetEngine

func NewResetEngine(g *libkb.GlobalContext) *ResetEngine

func (*ResetEngine) Name

func (e *ResetEngine) Name() string

func (*ResetEngine) Prereqs

func (e *ResetEngine) Prereqs() Prereqs

func (*ResetEngine) RequiredUIs

func (e *ResetEngine) RequiredUIs() []libkb.UIKind

func (*ResetEngine) Run

func (e *ResetEngine) Run(ctx *Context) (err error)

func (*ResetEngine) SubConsumers

func (e *ResetEngine) SubConsumers() []libkb.UIConsumer

type RevokeDeviceEngineArgs

type RevokeDeviceEngineArgs struct {
	ID    keybase1.DeviceID
	Force bool
}

type RevokeEngine

type RevokeEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewRevokeDeviceEngine

func NewRevokeDeviceEngine(args RevokeDeviceEngineArgs, g *libkb.GlobalContext) *RevokeEngine

func NewRevokeKeyEngine

func NewRevokeKeyEngine(kid string, g *libkb.GlobalContext) *RevokeEngine

func (*RevokeEngine) Name

func (e *RevokeEngine) Name() string

func (*RevokeEngine) Prereqs

func (e *RevokeEngine) Prereqs() Prereqs

func (*RevokeEngine) RequiredUIs

func (e *RevokeEngine) RequiredUIs() []libkb.UIKind

func (*RevokeEngine) Run

func (e *RevokeEngine) Run(ctx *Context) error

func (*RevokeEngine) SubConsumers

func (e *RevokeEngine) SubConsumers() []libkb.UIConsumer

type RevokeMode

type RevokeMode int
const (
	RevokeKey RevokeMode = iota
	RevokeDevice
)

type RevokeSigsEngine

type RevokeSigsEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewRevokeSigsEngine

func NewRevokeSigsEngine(sigIDs []keybase1.SigID, g *libkb.GlobalContext) *RevokeSigsEngine

func (*RevokeSigsEngine) Name

func (e *RevokeSigsEngine) Name() string

func (*RevokeSigsEngine) Prereqs

func (e *RevokeSigsEngine) Prereqs() Prereqs

func (*RevokeSigsEngine) RequiredUIs

func (e *RevokeSigsEngine) RequiredUIs() []libkb.UIKind

func (*RevokeSigsEngine) Run

func (e *RevokeSigsEngine) Run(ctx *Context) error

func (*RevokeSigsEngine) SubConsumers

func (e *RevokeSigsEngine) SubConsumers() []libkb.UIConsumer

type ScanKeys

type ScanKeys struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

ScanKeys finds pgp decryption keys in SKB and also if there is one stored on the server. It satisfies the openpgp.KeyRing interface.

It also will find public pgp keys for signature verification.

It is not an engine, but uses an engine and is used by engines, so has to be in the engine package. It is a UIConsumer.

func NewScanKeys

func NewScanKeys(secui libkb.SecretUI, idui libkb.IdentifyUI, opts *keybase1.TrackOptions, g *libkb.GlobalContext) (*ScanKeys, error)

NewScanKeys creates a ScanKeys type. If there is a login session, it will load the pgp keys for that user.

func (*ScanKeys) Count

func (s *ScanKeys) Count() int

Count returns the number of local keys available.

func (*ScanKeys) DecryptionKeys

func (s *ScanKeys) DecryptionKeys() []openpgp.Key

DecryptionKeys returns all private keys that are valid for decryption. It is only used if there is no key id in the message.

func (*ScanKeys) KeysById

func (s *ScanKeys) KeysById(id uint64) []openpgp.Key

KeysById returns the set of keys that have the given key id. It is only called during decryption by openpgp.

func (*ScanKeys) KeysByIdUsage

func (s *ScanKeys) KeysByIdUsage(id uint64, requiredUsage byte) []openpgp.Key

KeysByIdAndUsage returns the set of public keys with the given id that also meet the key usage given by requiredUsage.

The requiredUsage is expressed as the bitwise-OR of packet.KeyFlag* values.

It is only called during signature verification so therefore requiredUsage will only equal KeyFlagSign, thus only public keys are required. If this ever changes upstream in openpgp, this function will panic.

func (*ScanKeys) Name

func (s *ScanKeys) Name() string

func (*ScanKeys) Owner

func (s *ScanKeys) Owner() *libkb.User

Owner returns the owner of the keys found by ScanKeys that were used in KeysById or KeysByIdUsage.

func (*ScanKeys) RequiredUIs

func (s *ScanKeys) RequiredUIs() []libkb.UIKind

func (*ScanKeys) SubConsumers

func (s *ScanKeys) SubConsumers() []libkb.UIConsumer

type SearchEngine

type SearchEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewSearchEngine

func NewSearchEngine(args SearchEngineArgs, g *libkb.GlobalContext) *SearchEngine

func (*SearchEngine) GetResults

func (e *SearchEngine) GetResults() []keybase1.SearchResult

func (*SearchEngine) Name

func (e *SearchEngine) Name() string

func (*SearchEngine) Prereqs

func (e *SearchEngine) Prereqs() Prereqs

func (*SearchEngine) RequiredUIs

func (e *SearchEngine) RequiredUIs() []libkb.UIKind

func (*SearchEngine) Run

func (e *SearchEngine) Run(ctx *Context) error

func (*SearchEngine) SubConsumers

func (e *SearchEngine) SubConsumers() []libkb.UIConsumer

type SearchEngineArgs

type SearchEngineArgs struct {
	Query     string
	NumWanted int
}

type SignupEngine

type SignupEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewSignupEngine

func NewSignupEngine(arg *SignupEngineRunArg, g *libkb.GlobalContext) *SignupEngine

func (*SignupEngine) GetMe

func (s *SignupEngine) GetMe() *libkb.User

func (*SignupEngine) Name

func (s *SignupEngine) Name() string

func (*SignupEngine) Prereqs

func (s *SignupEngine) Prereqs() Prereqs

func (*SignupEngine) RequiredUIs

func (s *SignupEngine) RequiredUIs() []libkb.UIKind

func (*SignupEngine) Run

func (s *SignupEngine) Run(ctx *Context) error

func (*SignupEngine) SubConsumers

func (s *SignupEngine) SubConsumers() []libkb.UIConsumer

type SignupEngineRunArg

type SignupEngineRunArg struct {
	Username    string
	Email       string
	InviteCode  string
	Passphrase  string
	StoreSecret bool
	DeviceName  string
	SkipGPG     bool
	SkipMail    bool
	SkipPaper   bool
}

type SignupJoinEngine

type SignupJoinEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewSignupJoinEngine

func NewSignupJoinEngine(g *libkb.GlobalContext) *SignupJoinEngine

func (*SignupJoinEngine) CheckRegistered

func (s *SignupJoinEngine) CheckRegistered() (err error)

func (*SignupJoinEngine) Init

func (s *SignupJoinEngine) Init() error

func (*SignupJoinEngine) Post

func (s *SignupJoinEngine) Post(arg SignupJoinEngineRunArg) (err error)

func (*SignupJoinEngine) PostInviteRequest

func (s *SignupJoinEngine) PostInviteRequest(arg libkb.InviteRequestArg) error

func (*SignupJoinEngine) Run

func (*SignupJoinEngine) WriteOut

func (s *SignupJoinEngine) WriteOut(lctx libkb.LoginContext, salt []byte) error

type SignupJoinEngineRunArg

type SignupJoinEngineRunArg struct {
	Username   string
	Email      string
	InviteCode string
	PWHash     []byte
	PWSalt     []byte
	SkipMail   bool
}

type SignupJoinEngineRunRes

type SignupJoinEngineRunRes struct {
	PassphraseOk bool
	PostOk       bool
	WriteOk      bool
	UID          keybase1.UID
	User         *libkb.User
	Err          error
	PpGen        libkb.PassphraseGeneration
}

func (SignupJoinEngineRunRes) Error

func (r SignupJoinEngineRunRes) Error() string

type SigsList

type SigsList struct {
	SigsListArgs

	libkb.Contextified
	// contains filtered or unexported fields
}

SigsList is an engine for the sigs-list command.

func NewSigsList

func NewSigsList(args SigsListArgs, g *libkb.GlobalContext) *SigsList

NewSigsList creates a SigsList engine.

func (*SigsList) JSON

func (e *SigsList) JSON() (string, error)

func (*SigsList) Name

func (e *SigsList) Name() string

Name is the unique engine name.

func (*SigsList) Prereqs

func (e *SigsList) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*SigsList) RequiredUIs

func (e *SigsList) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*SigsList) Run

func (e *SigsList) Run(ctx *Context) error

Run starts the engine.

func (*SigsList) Sigs

func (e *SigsList) Sigs() []keybase1.Sig

Sigs returns the sig list, after processing.

func (*SigsList) SubConsumers

func (e *SigsList) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type SigsListArgs

type SigsListArgs struct {
	Username string
	AllKeys  bool
	Types    map[string]bool
	Filterx  string
	Verbose  bool
	Revoked  bool
}

type SocialProof

type SocialProof struct {
	Service  string `json:"service"`
	Username string `json:"username"`
}

func (SocialProof) Export

func (s SocialProof) Export() keybase1.TrackProof

type SocialProofList

type SocialProofList []SocialProof

func (SocialProofList) Export

func (s SocialProofList) Export() []keybase1.TrackProof

type Summary

type Summary struct {
	UID       keybase1.UID `json:"-"`
	Username  string       `json:"username"`
	Thumbnail string       `json:"thumbnail"`
	IDVersion int          `json:"id_version"`
	FullName  string       `json:"full_name"`
	Bio       string       `json:"bio"`
	Proofs    *Proofs      `json:"remote_proofs,omitempty"`
}

func (Summary) Export

func (s Summary) Export() keybase1.UserSummary

type TrackEngine

type TrackEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewTrackEngine

func NewTrackEngine(arg *TrackEngineArg, g *libkb.GlobalContext) *TrackEngine

NewTrackEngine creates a default TrackEngine for tracking theirName.

func (*TrackEngine) Name

func (e *TrackEngine) Name() string

func (*TrackEngine) Prereqs

func (e *TrackEngine) Prereqs() Prereqs

func (*TrackEngine) RequiredUIs

func (e *TrackEngine) RequiredUIs() []libkb.UIKind

func (*TrackEngine) Run

func (e *TrackEngine) Run(ctx *Context) error

func (*TrackEngine) SubConsumers

func (e *TrackEngine) SubConsumers() []libkb.UIConsumer

func (*TrackEngine) User

func (e *TrackEngine) User() *libkb.User

type TrackEngineArg

type TrackEngineArg struct {
	UserAssertion    string
	Me               *libkb.User
	Options          keybase1.TrackOptions
	ForceRemoteCheck bool
}

type TrackList

type TrackList []*libkb.TrackChainLink

func (TrackList) Len

func (tl TrackList) Len() int

func (TrackList) Less

func (tl TrackList) Less(i, j int) bool

func (TrackList) Swap

func (tl TrackList) Swap(i, j int)

type TrackToken

type TrackToken struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

TrackToken is an engine.

func NewTrackToken

func NewTrackToken(arg *TrackTokenArg, g *libkb.GlobalContext) *TrackToken

NewTrackToken creates a TrackToken engine.

func (*TrackToken) Name

func (e *TrackToken) Name() string

Name is the unique engine name.

func (*TrackToken) Prereqs

func (e *TrackToken) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*TrackToken) RequiredUIs

func (e *TrackToken) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*TrackToken) Run

func (e *TrackToken) Run(ctx *Context) error

Run starts the engine.

func (*TrackToken) SubConsumers

func (e *TrackToken) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type TrackTokenArg

type TrackTokenArg struct {
	Token   libkb.IdentifyCacheToken
	Me      *libkb.User
	Options keybase1.TrackOptions
}

type Unlock

type Unlock struct {
	libkb.Contextified
}

Unlock is an engine.

func NewUnlock

func NewUnlock(g *libkb.GlobalContext) *Unlock

NewUnlock creates a Unlock engine.

func (*Unlock) Name

func (e *Unlock) Name() string

Name is the unique engine name.

func (*Unlock) Prereqs

func (e *Unlock) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*Unlock) RequiredUIs

func (e *Unlock) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*Unlock) Run

func (e *Unlock) Run(ctx *Context) error

Run starts the engine.

func (*Unlock) SubConsumers

func (e *Unlock) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type UntrackEngine

type UntrackEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewUntrackEngine

func NewUntrackEngine(arg *UntrackEngineArg, g *libkb.GlobalContext) *UntrackEngine

NewUntrackEngine creates a default UntrackEngine for tracking theirName.

func (*UntrackEngine) Name

func (e *UntrackEngine) Name() string

func (*UntrackEngine) Prereqs

func (e *UntrackEngine) Prereqs() Prereqs

func (*UntrackEngine) RequiredUIs

func (e *UntrackEngine) RequiredUIs() []libkb.UIKind

func (*UntrackEngine) Run

func (e *UntrackEngine) Run(ctx *Context) (err error)

func (*UntrackEngine) SubConsumers

func (e *UntrackEngine) SubConsumers() []libkb.UIConsumer

type UntrackEngineArg

type UntrackEngineArg struct {
	Username string
	Me       *libkb.User
}

type UserConfigEngine

type UserConfigEngine struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func (*UserConfigEngine) Name

func (e *UserConfigEngine) Name() string

func (*UserConfigEngine) Prereqs

func (e *UserConfigEngine) Prereqs() Prereqs

func (*UserConfigEngine) RequiredUIs

func (e *UserConfigEngine) RequiredUIs() []libkb.UIKind

func (*UserConfigEngine) Run

func (e *UserConfigEngine) Run(ctx *Context) (err error)

func (*UserConfigEngine) SubConsumers

func (e *UserConfigEngine) SubConsumers() []libkb.UIConsumer

type UserConfigEngineArg

type UserConfigEngineArg struct {
	Key   string
	Value string
}

type UserPlusKeys

type UserPlusKeys struct {
	User      *libkb.User
	IsTracked bool
	Keys      []*libkb.PGPKeyBundle
}

type UserSummary

type UserSummary struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

func NewUserSummary

func NewUserSummary(uids []keybase1.UID, g *libkb.GlobalContext) *UserSummary

func (*UserSummary) ExportedSummariesList

func (e *UserSummary) ExportedSummariesList() (ret []keybase1.UserSummary)

func (*UserSummary) Name

func (e *UserSummary) Name() string

Name is the unique engine name.

func (*UserSummary) Prereqs

func (e *UserSummary) Prereqs() Prereqs

GetPrereqs returns the engine prereqs (none).

func (*UserSummary) RequiredUIs

func (e *UserSummary) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*UserSummary) Run

func (e *UserSummary) Run(ctx *Context) error

Run starts the engine.

func (*UserSummary) SubConsumers

func (e *UserSummary) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

func (*UserSummary) Summaries

func (e *UserSummary) Summaries() map[keybase1.UID]*Summary

func (*UserSummary) SummariesList

func (e *UserSummary) SummariesList() []*Summary

type WebProof

type WebProof struct {
	Hostname  string   `json:"hostname"`
	Protocols []string `json:"protocols"`
}

func (WebProof) Export

func (w WebProof) Export() keybase1.WebProof

type WebProofList

type WebProofList []WebProof

func (WebProofList) Export

func (w WebProofList) Export() []keybase1.WebProof

type XLogin

type XLogin struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

XLogin is an engine.

func NewXLogin

func NewXLogin(g *libkb.GlobalContext, deviceType, username string) *XLogin

NewXLogin creates a XLogin engine. username is optional. deviceType should be libkb.DeviceTypeDesktop or libkb.DeviceTypeMobile.

func (*XLogin) Name

func (e *XLogin) Name() string

Name is the unique engine name.

func (*XLogin) Prereqs

func (e *XLogin) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*XLogin) RequiredUIs

func (e *XLogin) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*XLogin) Run

func (e *XLogin) Run(ctx *Context) error

Run starts the engine.

func (*XLogin) SubConsumers

func (e *XLogin) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type XLoginCurrentDevice

type XLoginCurrentDevice struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

XLoginCurrentDevice is an engine that tries to login using the current device, if there is an existing provisioned device.

func NewXLoginCurrentDevice

func NewXLoginCurrentDevice(g *libkb.GlobalContext, username string) *XLoginCurrentDevice

NewXLoginCurrentDevice creates a XLoginCurrentDevice engine.

func (*XLoginCurrentDevice) Name

func (e *XLoginCurrentDevice) Name() string

Name is the unique engine name.

func (*XLoginCurrentDevice) Prereqs

func (e *XLoginCurrentDevice) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*XLoginCurrentDevice) RequiredUIs

func (e *XLoginCurrentDevice) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*XLoginCurrentDevice) Run

func (e *XLoginCurrentDevice) Run(ctx *Context) error

Run starts the engine.

func (*XLoginCurrentDevice) SubConsumers

func (e *XLoginCurrentDevice) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type XLoginProvision

type XLoginProvision struct {
	libkb.Contextified
	// contains filtered or unexported fields
}

XLoginProvision is an engine that will provision the current device.

func NewXLoginProvision

func NewXLoginProvision(g *libkb.GlobalContext, arg *XLoginProvisionArg) *XLoginProvision

NewXLoginProvision creates a XLoginProvision engine. username is optional.

func (*XLoginProvision) Name

func (e *XLoginProvision) Name() string

Name is the unique engine name.

func (*XLoginProvision) Prereqs

func (e *XLoginProvision) Prereqs() Prereqs

GetPrereqs returns the engine prereqs.

func (*XLoginProvision) RequiredUIs

func (e *XLoginProvision) RequiredUIs() []libkb.UIKind

RequiredUIs returns the required UIs.

func (*XLoginProvision) Run

func (e *XLoginProvision) Run(ctx *Context) error

Run starts the engine.

func (*XLoginProvision) SubConsumers

func (e *XLoginProvision) SubConsumers() []libkb.UIConsumer

SubConsumers returns the other UI consumers for this engine.

type XLoginProvisionArg

type XLoginProvisionArg struct {
	DeviceType string // desktop or mobile
	Username   string // optional
}

Jump to

Keyboard shortcuts

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