2016-03-30 10 views
-1

SPR332 pinpad okuyucum var ve banka kartlarının pinini doğrulayan java üzerine program yazmam gerekiyor.java iadelerini kullanarak pin doğrulayın 6a86

bTimeOut = 0х00 
bTimeOut2 = 0х00 
bmFormatString = 0x82 
bmPINBlockString = 0x47 
bmPINLengthFormat = 0x04 
wPINMaxExtraDigitMax = 0x0c 
wPINMaxExtraDigitMin = 0x00 
bEntryValidationCondition = 0x02 
bNumberMessage = 0x01 
wLangId = 0x09 0x04 
bMsgIndex = 0x00 
bTeoPrologue = 0x00 0x00 0x00 
ulDataLength = apduLength 0x00 0x00 0x00 

APDU komutu doğrulayın: Bundan sonra

CLA = 0x00 
INS = 0x20 
P1 = 0x00 
P2 = 0x00 
LC = 0x08 
0x20 
0xff 
0xff 
0xff 
0xff 
0xff 
0xff 
0xff 

i sonra ben APDU yanıtı 6a86 almak, PinPad pimini girmek

Yani bu benim PINverifyStructure olduğunu. APDU yanıtları spesifikasyonunda "Yanlış P1 veya P2 parametresi" anlamına gelir.

Lütfen, yardım, benim emrimle ilgili sorun nedir?

Ben tepki aynı 6a86

+0

1) Doğrudan modunda çalışan Verify komutunu alın. 2) Okuyucunun kullanım kılavuzunu dikkatle okuyun, bu APDU'yu nasıl sarın, böylece okuyucu girilen PIN'i doldurabilir. (Bu bir DOĞRUDAN komut olabilir, ancak tamamen farklı bir şey olabilir). 3) Daha sonra okuyucu tarafından APDU modifikasyonunu elde etmeye çalışın. – guidot

+0

1) Doğrudan mod aynı yanıtı verir ** 6a81 ** 2) Kimlik SPR332 pinpad'in herhangi bir el kitabına sahip değilim ve Google arama başarısız oldu –

cevap

0

Sonunda cevabın neden 6a81 olduğunu buldum.

Çünkü EMV kartım var, bu yüzden VERIFY komutu belirli bir sırayla çağrılmalıdır (SELECT FILE, GET PROCESSING SEÇENEKLERİ, READ RECORD, VERİ AL).

Şimdi 9000'im var. Thx all

0

EMV Book 3, 6.5.12 Komut Tepki APDUs DOĞRULA Bkz olduğunu 0x01 P2 değiştirdi. PlaintextPin veya 0x88 - - EncipheredPin

P2 0x80 olmalıdır. Senin durumunda - 0x80.

+0

0x80 olarak değiştirdim, ardından "İşlev desteklenmiyor" anlamına gelen 6a81 kodunu aldım. " Bu, kart okuyucuda doğrulama işlevinin bulunmadığı anlamına mı geliyor? –

+0

Komut plaintext Bunu şöyle doğrulayın: 00 20 00 80 08 24 12 34 FF FF FF FF FF. Lütfen N PIN uzunluğunu kontrol edin. 6A81, kartın daha önceden engellendiği anlamına gelebilir. Responce ile tam bir komut dizisi sunabilir misiniz? –

+0

VERIFY_PIN_START [00: 00: 82: 47: 04: 0c: 00: 02: 01: 09: 04: 00: 00: 00: 00: 0d: 00: 00: 00: 00: 20: 00: 80: 08: 20: ff: ff: ff: ff: ff: ff: ff] \t GET_KEY_PRESSED: 0x2b \t \t (kullanıcı geçerli anahtar 0-9 girildi): 0x2b \t GET_KEY_PRESSED (kullanıcı geçerli anahtar 0-9 girildi) GET_KEY_PRESSED: 0x2B \t \t GET_KEY_PRESSED (kullanıcı geçerli anahtar 0-9 girildi): 0x0D (kullanıcı teyit) \t x2b \t \t GET_KEY_PRESSED (kullanıcı geçerli anahtar 0-9 girildi)VERIFY_PIN_FINISH \t \t yanıt [6a: 81] –

İlgili konular