- fixed VERIFY handling
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1317 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
a9f05d1100
commit
53b5c2b389
|
@ -1705,16 +1705,13 @@ gpk_build_pin_apdu(sc_card_t *card, sc_apdu_t *apdu, struct sc_pin_cmd_data *dat
|
|||
apdu->cse = SC_APDU_CASE_3_SHORT;
|
||||
|
||||
data->flags |= SC_PIN_CMD_NEED_PADDING;
|
||||
data->pin1.encoding = SC_PIN_ENCODING_BCD;
|
||||
data->pin1.pad_length = 8;
|
||||
data->pin1.pad_char = 0x00;
|
||||
data->pin2.encoding = SC_PIN_ENCODING_BCD;
|
||||
data->pin2.pad_length = 8;
|
||||
data->pin2.pad_char = 0x00;
|
||||
|
||||
switch (data->cmd) {
|
||||
case SC_PIN_CMD_VERIFY:
|
||||
/* Copy PIN to buffer and pad */
|
||||
data->pin1.encoding = SC_PIN_ENCODING_ASCII;
|
||||
data->pin1.pad_length = 8;
|
||||
data->pin1.pad_char = 0x00;
|
||||
data->pin1.offset = 5;
|
||||
r = sc_build_pin(sbuf, 8, &data->pin1, 1);
|
||||
if (r < 0)
|
||||
|
@ -1727,6 +1724,13 @@ gpk_build_pin_apdu(sc_card_t *card, sc_apdu_t *apdu, struct sc_pin_cmd_data *dat
|
|||
case SC_PIN_CMD_CHANGE:
|
||||
case SC_PIN_CMD_UNBLOCK:
|
||||
/* Copy PINs to buffer, BCD-encoded, and pad */
|
||||
data->pin1.encoding = SC_PIN_ENCODING_BCD;
|
||||
data->pin1.pad_length = 8;
|
||||
data->pin1.pad_char = 0x00;
|
||||
data->pin1.offset = 5;
|
||||
data->pin2.encoding = SC_PIN_ENCODING_BCD;
|
||||
data->pin2.pad_length = 8;
|
||||
data->pin2.pad_char = 0x00;
|
||||
data->pin2.offset = 5 + 4;
|
||||
if ((r = sc_build_pin(sbuf, 4, &data->pin1, 1)) < 0
|
||||
|| (r = sc_build_pin(sbuf + 4, 4, &data->pin2, 1)) < 0)
|
||||
|
|
Loading…
Reference in New Issue