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,
|
LOG_TEST_RET(card->ctx, SC_ERROR_INVALID_ARGUMENTS,
|
||||||
"invalid PIN type");
|
"invalid PIN type");
|
||||||
|
|
||||||
data->pin_reference |= 0x80;
|
|
||||||
|
|
||||||
LOG_FUNC_RETURN(card->ctx, iso_ops->pin_cmd(card, data, tries_left));
|
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 |
|
flags = SC_PKCS15_PIN_FLAG_CASE_SENSITIVE |
|
||||||
SC_PKCS15_PIN_FLAG_INITIALIZED |
|
SC_PKCS15_PIN_FLAG_INITIALIZED |
|
||||||
SC_PKCS15_PIN_FLAG_LOCAL;
|
SC_PKCS15_PIN_FLAG_LOCAL;
|
||||||
|
if (card->type == SC_CARD_TYPE_OPENPGP_V2 && i == 1)
|
||||||
|
continue;
|
||||||
if (i == 2) {
|
if (i == 2) {
|
||||||
flags |= SC_PKCS15_PIN_FLAG_UNBLOCK_DISABLED |
|
flags |= SC_PKCS15_PIN_FLAG_UNBLOCK_DISABLED |
|
||||||
SC_PKCS15_PIN_FLAG_SO_PIN;
|
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_type = SC_PKCS15_PIN_AUTH_TYPE_PIN;
|
||||||
pin_info.auth_id.len = 1;
|
pin_info.auth_id.len = 1;
|
||||||
pin_info.auth_id.value[0] = i + 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.flags = flags;
|
||||||
pin_info.attrs.pin.type = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
|
pin_info.attrs.pin.type = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
|
||||||
pin_info.attrs.pin.min_length = 0;
|
pin_info.attrs.pin.min_length = 0;
|
||||||
|
|
Loading…
Reference in New Issue