Gemalto is now part of the Thales Group, find out more.

You are here

PIN operations with PC_to_RDR_Secure on CT7xx pinpad devices | Thales IoT Developer Community

MikeZarlenga

November 20, 2015 - 11:27pm, 1131 views

We use Java cards with proprietary applets that have their own, custom APDU commands (CLA, INS, P1, P2) for PIN operations such as Verify and Modify.

Our applet's PIN Verify APDU command is: 00 20 00 00 04 FF FF FF FF.

The PIN is 4 digits min, 4 digits ***, BCD encoded, left-justified and padded with FF.

Using the Gemalto "PCSC Bridge" application, with the following values, I can perform PIN verification with VERIFY_PIN_DIRECT:

bmFormatString = 81
bmPINBlockString = 04
bmPINLengthFormat = 00
 wPINMaxExtraDigit = 04 04
 bEntryValidationCondition = 02
 bNumberMessage = 00
 wLangId = 04 09
 abData = 00 20 00 00 04 FF FF FF FF

HOWEVER, I cannot get PIN Modify to work.

Our PIN Modify APDU command is: 20 02 00 2D FF FF FF FF FF FF FF FF 01 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 01

Using the Gemalto "PCSC Bridge" application, I can get this to work.

Using the Gemalto "PCSC Bridge" application, with the following values, when I attempt a PIN modification with MODIFY_PIN_DIRECT, I get a return status code of 01 (from ScardConbtrol) and the CT710 goes offline. It ***** to be unplugged and plugged back into the Windows USB port.

bmFormatString = 81
bmPINBlockString = 04
bmPINLengthFormat = 00
bInsertionOffsetOld = 00
bInsertionOffsetNew= 04
wPINMaxExtraDigit = 04 04
bConfirmPIN = 03
bEntryValidationCondition = 02
bNumberMessage = 03
wLangId = 04 09
bMsgIndex = 00 00 00 (I've also tried 00 01 02)
abData = 00 20 02 00 2D FF FF FF FF FF FF FF FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 01

What am I doing wrong? Can you help?!

Mike Zarlenga