OpenPGP: use actual references in PKCS#15 emulation code for PIN codes. Only v1.1 has 3 PIN codes.
This commit is contained in:
parent
63b08786a0
commit
fb772cccf8
|
@ -903,8 +903,6 @@ pgp_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data, int *tries_left)
|
|||
LOG_TEST_RET(card->ctx, SC_ERROR_INVALID_ARGUMENTS,
|
||||
"invalid PIN type");
|
||||
|
||||
data->pin_reference |= 0x80;
|
||||
|
||||
LOG_FUNC_RETURN(card->ctx, iso_ops->pin_cmd(card, data, tries_left));
|
||||
}
|
||||
|
||||
|
|
|
@ -132,6 +132,8 @@ sc_pkcs15emu_openpgp_init(sc_pkcs15_card_t *p15card)
|
|||
flags = SC_PKCS15_PIN_FLAG_CASE_SENSITIVE |
|
||||
SC_PKCS15_PIN_FLAG_INITIALIZED |
|
||||
SC_PKCS15_PIN_FLAG_LOCAL;
|
||||
if (card->type == SC_CARD_TYPE_OPENPGP_V2 && i == 1)
|
||||
continue;
|
||||
if (i == 2) {
|
||||
flags |= SC_PKCS15_PIN_FLAG_UNBLOCK_DISABLED |
|
||||
SC_PKCS15_PIN_FLAG_SO_PIN;
|
||||
|
@ -140,7 +142,7 @@ sc_pkcs15emu_openpgp_init(sc_pkcs15_card_t *p15card)
|
|||
pin_info.auth_type = SC_PKCS15_PIN_AUTH_TYPE_PIN;
|
||||
pin_info.auth_id.len = 1;
|
||||
pin_info.auth_id.value[0] = i + 1;
|
||||
pin_info.attrs.pin.reference = i + 1;
|
||||
pin_info.attrs.pin.reference = 0x81 + i;
|
||||
pin_info.attrs.pin.flags = flags;
|
||||
pin_info.attrs.pin.type = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
|
||||
pin_info.attrs.pin.min_length = 0;
|
||||
|
|
Loading…
Reference in New Issue