PIV global pin bug
Fixes #2141 NIST 800-73-3 based cards only had 2 bits set in first pin policy byte. NIST 800-73-4 defines additions bits in first pin policy byte. When one of these bit is set, and the policy prefers the Global pin, it is not recognized and the local pin is used. On branch PIV-global-pin-bug Changes to be committed: modified: src/libopensc/card-piv.c
This commit is contained in:
parent
26a404d6a5
commit
ce28ea8162
|
@ -2603,7 +2603,7 @@ static int piv_parse_discovery(sc_card_t *card, u8 * rbuf, size_t rbuflen, int a
|
|||
if (pinp && pinplen == 2) {
|
||||
sc_log(card->ctx, "Discovery pinp flags=0x%2.2x 0x%2.2x",*pinp, *(pinp+1));
|
||||
r = SC_SUCCESS;
|
||||
if (*pinp == 0x60 && *(pinp+1) == 0x20) { /* use Global pin */
|
||||
if ((*pinp & 0x60) == 0x60 && *(pinp+1) == 0x20) { /* use Global pin */
|
||||
sc_log(card->ctx, "Pin Preference - Global");
|
||||
priv->pin_preference = 0x00;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue