func (c *CmdPGPDrop) ParseArgv(ctx *cli.Context) (err error) { if len(ctx.Args()) != 1 { return fmt.Errorf("drop takes exactly one key") } c.id, err = keybase1.KIDFromStringChecked(ctx.Args()[0]) if err != nil { return fmt.Errorf("bad key: %v", err) } return nil }
func (c *CmdCA) runPromptLoop() error { var err error var s string re := regexp.MustCompile(`(\s|,|:)+`) api := auth.NewUserKeyAPIer(c.G().Log, c.G().API) ca := auth.NewCredentialAuthority(c.G().Log, api) for { s, err = c.G().UI.GetTerminalUI().Prompt(0, "ca> ") if err != nil { break } s = strings.TrimSpace(s) if len(s) == 0 { break } v := re.Split(s, -1) if len(v) != 3 { c.G().Log.Errorf("Need a triple: [<uid>,<username>,<kid>]") continue } uid, e2 := keybase1.UIDFromString(v[0]) if e2 != nil { c.G().Log.Errorf("Bad UID %s: %s", v[0], e2) continue } un := libkb.NewNormalizedUsername(v[1]) kid, e2 := keybase1.KIDFromStringChecked(v[2]) if e2 != nil { c.G().Log.Errorf("Bad KID %s: %s", v[2], e2) continue } if e2 := ca.CheckUserKey(context.TODO(), uid, &un, &kid); e2 != nil { c.G().Log.Errorf("Bad check: %s", e2) } } return err }