| 501 |
pin_verify -> bmFormatString = 0x82; |
pin_verify -> bmFormatString = 0x82; |
| 502 |
pin_verify -> bmPINBlockString = 0x04; |
pin_verify -> bmPINBlockString = 0x04; |
| 503 |
pin_verify -> bmPINLengthFormat = 0x00; |
pin_verify -> bmPINLengthFormat = 0x00; |
| 504 |
pin_verify -> wPINMaxExtraDigit = HOST_TO_CCID_16(0x0408); /* Min Max */ |
pin_verify -> wPINMaxExtraDigit = 0x0408; /* Min Max */ |
| 505 |
pin_verify -> bEntryValidationCondition = 0x02; /* validation key pressed */ |
pin_verify -> bEntryValidationCondition = 0x02; /* validation key pressed */ |
| 506 |
pin_verify -> bNumberMessage = 0x01; |
pin_verify -> bNumberMessage = 0x01; |
| 507 |
pin_verify -> wLangId = HOST_TO_CCID_16(0x0904); |
pin_verify -> wLangId = 0x0904; |
| 508 |
pin_verify -> bMsgIndex = 0x00; |
pin_verify -> bMsgIndex = 0x00; |
| 509 |
pin_verify -> bTeoPrologue[0] = 0x00; |
pin_verify -> bTeoPrologue[0] = 0x00; |
| 510 |
pin_verify -> bTeoPrologue[1] = 0x00; |
pin_verify -> bTeoPrologue[1] = 0x00; |
| 526 |
pin_verify -> abData[offset++] = 0x00; /* '\0' */ |
pin_verify -> abData[offset++] = 0x00; /* '\0' */ |
| 527 |
pin_verify -> abData[offset++] = 0x00; /* '\0' */ |
pin_verify -> abData[offset++] = 0x00; /* '\0' */ |
| 528 |
pin_verify -> abData[offset++] = 0x00; /* '\0' */ |
pin_verify -> abData[offset++] = 0x00; /* '\0' */ |
| 529 |
pin_verify -> ulDataLength = HOST_TO_CCID_32(offset); /* APDU size */ |
pin_verify -> ulDataLength = offset; /* APDU size */ |
| 530 |
|
|
| 531 |
length = sizeof(PIN_VERIFY_STRUCTURE) + offset -1; /* -1 because PIN_VERIFY_STRUCTURE contains the first byte of abData[] */ |
length = sizeof(PIN_VERIFY_STRUCTURE) + offset -1; /* -1 because PIN_VERIFY_STRUCTURE contains the first byte of abData[] */ |
| 532 |
|
|
| 636 |
pin_modify -> bmPINLengthFormat = 0x00; |
pin_modify -> bmPINLengthFormat = 0x00; |
| 637 |
pin_modify -> bInsertionOffsetOld = 0x00; /* offset from APDU start */ |
pin_modify -> bInsertionOffsetOld = 0x00; /* offset from APDU start */ |
| 638 |
pin_modify -> bInsertionOffsetNew = 0x04; /* offset from APDU start */ |
pin_modify -> bInsertionOffsetNew = 0x04; /* offset from APDU start */ |
| 639 |
pin_modify -> wPINMaxExtraDigit = HOST_TO_CCID_16(0x0408); /* Min Max */ |
pin_modify -> wPINMaxExtraDigit = 0x0408; /* Min Max */ |
| 640 |
pin_modify -> bConfirmPIN = 0x03; /* b0 set = confirmation requested */ |
pin_modify -> bConfirmPIN = 0x03; /* b0 set = confirmation requested */ |
| 641 |
/* b1 set = current PIN entry requested */ |
/* b1 set = current PIN entry requested */ |
| 642 |
pin_modify -> bEntryValidationCondition = 0x02; /* validation key pressed */ |
pin_modify -> bEntryValidationCondition = 0x02; /* validation key pressed */ |
| 643 |
pin_modify -> bNumberMessage = 0x03; /* see table above */ |
pin_modify -> bNumberMessage = 0x03; /* see table above */ |
| 644 |
pin_modify -> wLangId = HOST_TO_CCID_16(0x0904); |
pin_modify -> wLangId = 0x0904; |
| 645 |
pin_modify -> bMsgIndex1 = 0x00; |
pin_modify -> bMsgIndex1 = 0x00; |
| 646 |
pin_modify -> bMsgIndex2 = 0x00; |
pin_modify -> bMsgIndex2 = 0x00; |
| 647 |
pin_modify -> bMsgIndex3 = 0x00; |
pin_modify -> bMsgIndex3 = 0x00; |
| 665 |
pin_modify -> abData[offset++] = 0x30; /* '0' */ |
pin_modify -> abData[offset++] = 0x30; /* '0' */ |
| 666 |
pin_modify -> abData[offset++] = 0x30; /* '0' */ |
pin_modify -> abData[offset++] = 0x30; /* '0' */ |
| 667 |
pin_modify -> abData[offset++] = 0x30; /* '0' */ |
pin_modify -> abData[offset++] = 0x30; /* '0' */ |
| 668 |
pin_modify -> ulDataLength = HOST_TO_CCID_32(offset); /* APDU size */ |
pin_modify -> ulDataLength = offset; /* APDU size */ |
| 669 |
|
|
| 670 |
length = sizeof(PIN_MODIFY_STRUCTURE) + offset -1; /* -1 because PIN_MODIFY_STRUCTURE contains the first byte of abData[] */ |
length = sizeof(PIN_MODIFY_STRUCTURE) + offset -1; /* -1 because PIN_MODIFY_STRUCTURE contains the first byte of abData[] */ |
| 671 |
|
|