Skip to content

Commit

Permalink
スマホJPKIのpin stauts
Browse files Browse the repository at this point in the history
  • Loading branch information
hamano committed Jul 11, 2023
1 parent 5080e72 commit c511221
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 31 deletions.
37 changes: 21 additions & 16 deletions cmd/pin.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,27 @@ func pinStatus(cmd *cobra.Command, args []string) error {
return err
}

fmt.Printf("券面事項PIN(A):\tのこり%2d回\n",
status["visual_pin_a"])
fmt.Printf("券面事項PIN(B):\tのこり%2d回\n",
status["visual_pin_b"])
fmt.Printf("入力補助PIN:\tのこり%2d回\n",
status["text_pin"])
fmt.Printf("入力補助PIN(A):\tのこり%2d回\n",
status["text_pin_a"])
fmt.Printf("入力補助PIN(B):\tのこり%2d回\n",
status["text_pin_b"])
fmt.Printf("JPKI認証用PIN:\tのこり%2d回\n", status["jpki_auth"])
fmt.Printf("JPKI署名用PIN:\tのこり%2d回\n", status["jpki_sign"])
/*
fmt.Printf("謎のPIN1:\tのこり%d回\n", status["unknown1"])
fmt.Printf("謎のPIN2:\tのこり%d回\n", status["unknown2"])
*/
if visual_pin_a, ok := status["visual_pin_a"]; ok {
fmt.Printf("券面事項PIN(A):\tのこり%2d回\n", visual_pin_a)
}
if visual_pin_b, ok := status["visual_pin_b"]; ok {
fmt.Printf("券面事項PIN(B):\tのこり%2d回\n", visual_pin_b)
}
if text_pin, ok := status["text_pin"]; ok {
fmt.Printf("入力補助PIN:\tのこり%2d回\n", text_pin)
}
if text_pin_a, ok := status["text_pin_a"]; ok {
fmt.Printf("入力補助PIN(A):\tのこり%2d回\n", text_pin_a)
}
if text_pin_b, ok := status["text_pin_b"]; ok {
fmt.Printf("入力補助PIN(B):\tのこり%2d回\n", text_pin_b)
}
if jpki_auth, ok := status["jpki_auth"]; ok {
fmt.Printf("JPKI認証用PIN:\tのこり%2d回\n", jpki_auth)
}
if jpki_sign, ok := status["jpki_sign"]; ok {
fmt.Printf("JPKI署名用PIN:\tのこり%2d回\n", jpki_sign)
}
return nil
}

Expand Down
32 changes: 17 additions & 15 deletions libmyna/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,23 @@ func GetPinStatus() (map[string]int, error) {

status := map[string]int{}

jpkiAP, err := reader.SelectJPKIAP()
if err != nil {
return nil, err
}
status["jpki_auth"], err = jpkiAP.LookupAuthPin()
status["jpki_sign"], err = jpkiAP.LookupSignPin()

token, err := jpkiAP.GetToken()
if err != nil {
return nil, err
}

if token == "JPKIAPGPSETOKEN" {
// スマホJPKI
return status, nil
}

visualAP, err := reader.SelectVisualAP()
if err != nil {
return nil, err
Expand All @@ -563,20 +580,5 @@ func GetPinStatus() (map[string]int, error) {
status["text_pin_a"], err = textAP.LookupPinA()
status["text_pin_b"], err = textAP.LookupPinB()

jpkiAP, err := reader.SelectJPKIAP()
if err != nil {
return nil, err
}
status["jpki_auth"], err = jpkiAP.LookupAuthPin()
status["jpki_sign"], err = jpkiAP.LookupSignPin()
/*
reader.SelectAP("D3 92 10 00 31 00 01 01 01 00") // 謎AP
reader.SelectEF("00 1C")
status["unknown1"] = reader.LookupPin()
reader.SelectAP("D3 92 10 00 31 00 01 01 04 01") // 謎AP
reader.SelectEF("00 1C")
status["unknown2"] = reader.LookupPin()
*/
return status, nil
}

0 comments on commit c511221

Please sign in to comment.