add keycard-set-pinless-path command

This commit is contained in:
Andrea Franz 2019-03-16 10:03:35 +01:00
parent 212fa77214
commit 5ba1397f33

View File

@ -59,6 +59,7 @@ func NewShell(t globalplatform.Transmitter) *Shell {
"keycard-generate-key": s.commandKeycardGenerateKey, "keycard-generate-key": s.commandKeycardGenerateKey,
"keycard-derive-key": s.commandKeycardDeriveKey, "keycard-derive-key": s.commandKeycardDeriveKey,
"keycard-sign": s.commandKeycardSign, "keycard-sign": s.commandKeycardSign,
"keycard-set-pinless-path": s.commandKeycardSetPinlessPath,
} }
return s return s
@ -430,6 +431,20 @@ func (s *Shell) commandKeycardSign(args ...string) error {
return nil return nil
} }
func (s *Shell) commandKeycardSetPinlessPath(args ...string) error {
if err := s.requireArgs(args, 1); err != nil {
return err
}
logger.Info(fmt.Sprintf("set pinless path %s", args[0]))
if err := s.kCmdSet.SetPinlessPath(args[0]); err != nil {
logger.Error("set pinless path failed", "error", err)
return err
}
return nil
}
func (s *Shell) requireArgs(args []string, possibleArgsN ...int) error { func (s *Shell) requireArgs(args []string, possibleArgsN ...int) error {
for _, n := range possibleArgsN { for _, n := range possibleArgsN {
if len(args) == n { if len(args) == n {