func (e *loginProvision) gpgSignKey(ctx *Context, fp *libkb.PGPFingerprint) (libkb.GenericKey, error) { kf := e.arg.User.GetComputedKeyFamily() if kf == nil { return nil, libkb.KeyFamilyError{Msg: "no key family for user"} } kid, err := kf.FindKIDFromFingerprint(*fp) if err != nil { return nil, err } // create a GPGKey shell around gpg cli with fp, kid return libkb.NewGPGKey(e.G(), fp, kid, ctx.GPGUI, e.arg.ClientType), nil }
// chooseGPGKey asks the user to select a gpg key to use, then // checks if the fingerprint exists on keybase.io. func (e *LoginProvision) chooseGPGKey(ctx *Context) (libkb.GenericKey, error) { // choose a private gpg key to use fp, err := e.selectAndCheckGPGKey(ctx) if err != nil { return nil, err } // get KID for the pgp key kf := e.user.GetComputedKeyFamily() if kf == nil { return nil, libkb.KeyFamilyError{Msg: "no key family for user"} } kid, err := kf.FindKIDFromFingerprint(*fp) if err != nil { return nil, err } // create a GPGKey shell around gpg cli with fp, kid return libkb.NewGPGKey(e.G(), fp, kid, ctx.GPGUI, e.arg.ClientType), nil }