2013-03-26 5 views
4

Я могу подключиться к карте, и теперь мне нужно проверить PIN-код, но я не могу определить, какой код использовать выполнить проверкуКак отправить код проверки PIN-кода на смарт-карту с использованием APDU - Использование .NET

// Verify PIN 
//HERE IS WHAT I´M NOT SURE WHAT TO USE - Just an Example 
byte[] pin = new byte[] { 0x31, 0x32, 0x33, 0x34, 0xFF, 0xFF, 0xFF, 0xFF }; 
APDUParam apduParam = new APDUParam(); 
apduParam.Data = pin; 
apduVerifyCHV.Update(apduParam); 
apduResp = iCard.Transmit(apduVerifyCHV); 

Это смарт-карта, которая использует 7-значный PIN-код. Это всегда 7 цифр.

**Example:** 
{CLA, INS, P1, P2, Lc, b1, b2, b3, b4, b5, b6, b7} 

Здесь у меня есть основные CLA, INS, P1, P2, LC байт. Должен ли я установить + 3 байта или 6 байт для PIN 7 цифр И должно быть фактическим PIN или просто значение 0xFF

Ex. {CLA, INS, P1, P2, Lc, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} +7 Bytes 

в спецификации я нашел примеры 8 цифр мин и макс и мин 4 и не более 12 байт ...

ответ

3

Это проще, чем я учил ...

Если PIN-код использует преобразование формата ASCII с прокладкой

PIN Введенный 135 7 (мин размер = 4 и максимальный размер = 8 цифр)

  • • выравнивание по левому краю
  • • поведение по умолчанию отображения для CCID
  • ; • CCID посылает в МУС этой команде

    CLA ИНС P1 P2 Lc 31 33 35 37 FF FF FF FF

Если PIN-код использует BCD правильное обоснование и управляющее поле

PIN-код введенный 13579 (мин размер = 4 и максимальный размер = 8 цифр)

  • • Правый обоснование. Персональный код содержит менее 8 цифр; поэтому самые значащие цифры восьмизначного кода должны быть заполнены нулями .
  • • Кадр интегрирует определенное поле управления «01» перед преобразованием PIN .
  • • Нет сообщений
  • • The CCID посылает в МУС этой команде

    CLA INS P1 P2 Lc 01 00 01 35 79

так, все, что я должен был сделать, чтобы установить правильные значения. В моем случае, используя метод ASCII с левым обоснованием:

0x00 0x20 0x00 0x01 0x08 0x30 0x31 0x34 0x37 0x34 0x31 0x30 0xFF 

3 - относится к обивке

3x - х относится к фактическому числу контактов в заданном положении (выравнивание по левому краю) , как у меня PIN-код из 7 цифр байт не используются, должны по умолчанию 0xFF

Надежда, что помогает некоторым один

+1

это довольно необычно, что хост-приложению должно выполнить прокладку, так как обычно допустимый набор символов не ОГРАНИЧЕНИЯ ted и 0xFF будут носить юридический характер. Также максимальная длина не обязательно известна снаружи. Если разрешены только цифры, ISO 9564 определяет некоторые варианты. – guidot

+0

Привет, может ли кто-нибудь указать ссылку на стандарты, в которых есть ** Проверить PIN ** и ** Проверить команды ADM **? Это в ** ETSI ** или ** ISO ** или ** 3GPP **? –

 Смежные вопросы

  • Нет связанных вопросов^_^