2016-03-11 6 views
0

Я работаю с кредитной картой MasterCard, и у меня возникает вопрос о том, какие именно шаги необходимо выполнить для проверки подлинности CDA.Проверка подлинности CDA на MasterCard

Если я правильно понял процедуру, я должен сначала отправить команду GENERATE AC, а затем EXTERNAL AUTHENTICATE?

Моя GENERATE AC команда выглядит следующим образом:

80 AE 40 00 42 00 00 00 00 01 00 00 00 00 00 00 00 01 91 00 00 00 00 00 01 91 01 01 01 00 01 02 03 04 12 01 02 01 02 03 04 05 06 07 08 00 01 02 12 04 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

И ответ (рЕАКЦИЯ) Я получаю с карты:

9F 27 01 80

9F 36 02 00 5C

9F 26 08 АЕ 7D 66 Е4 50 15 Д5 А4 (Применение Криптограммы)

9F 10 12 02 10 A0 00 00 2A 08 00 01 02 00 00 00 00 00 00 00 FF

В следующем шаге я запуск «ВНЕШНЕЕ Authentica ТЕ»с помощью команды:

00 82 00 00 АЕ 7D 66 Е4 50 15 Д5 А4 02 10 A0 00 00 2A 08 00

Ответ я после этого является 2 байта массива [109, 0] , то есть 6D. Означает ли это, что я делаю что-то неправильно?

Любые советы будут оценены.

ответ

0

6D00 означает «Код команды не поддерживается или недействителен»

77 29 9F 27 01 80 Когда криптограммы дата информация 80, это означает, что 4-й бит включен. верный ? что означает, что это не ARQC, но это «Advify Required». Может быть, это и есть причина?

Вместо публикации исходного шестнадцатеричного дампа было бы лучше, если бы вы могли разделить сообщение на компоненты.

+0

Вы пропустили Lc во внешнем аутентификате? – adarsh

+0

Ответ такой же, даже если я добавлю Lc во ВНЕШНИЙ АУТЕНТИФИКАТ. – magic

+0

поток ниже – adarsh

0

В Первый Сформировать AC Command вы послали байт P1 = "40" пытается завершить сделку с TC криптограммы. Но карта решила заставить вас выйти в интернет с криптограммой ARQC. В ответе на карточку Tag 0x9F27 укажите тип криптограммы и значение криптограммы ARQC в теге 0x9F26.

- TLVs: # EMV, Tag + Length + Value (TLV) series 
- x77: # EMV, Template, Response Message Format 2 
    tag: "77" 
    len: "29" # // 41 
    - val: # Template, Response Message Format 2. 
    - x9F27: # EMV, Cryptogram Information Data (CID) 
     tag: "9F27" 
     len: "01" # // 1 
     val: "80" # Cryptogram Information Data (CID). 
     # 10______ - bits 8-7, ARQC 
     # _____000 - bits 3-1 (Reason/Advice/Referral Code), No information given 
    - x9F36: # EMV, Application Transaction Counter (ATC) 
     tag: "9F36" 
     len: "02" # // 2 
     val: "005C" # Application Transaction Counter (ATC). // 92 
    - x9F26: # EMV, Cryptogram, Application 
     tag: "9F26" 
     len: "08" # // 8 
     val: "AE7D66E45015D5A4" # Cryptogram, Application. 
    - x9F10: # EMV, Issuer Application Data (IAD) 
     tag: "9F10" 
     len: "12" # // 18 
     val: "0210A000002A0800010200000000000000FF" # Issuer Application Data (IAD). 

Вы пытаетесь выполнить External Идентифицироваться без использования правильной аутентификации эмитента данные (Tag 0x91).В реальном мире ваш терминал должен подключиться к Интернету с хоста авторизации. В тестовой среде вы можете рассчитать это значение тега самостоятельно (если вам известны алгоритмы и некоторые данные карты, требуются ключи для расчет ARPC). Кроме того, как замечено ранее, вы забыли поставить Lc байт с длиной в команде APDU.

Это может быть случай, когда онлайн-криптограмма проверки ARQC невозможна (автономные терминалы, связь сломана и т. Д.). В этом случае ваш терминал должен выполнить Второй генератор переменного тока, запрашивающий снова завершенную транзакцию с криптограммой TC и используя Код ответа на авторизацию (тег 0x8A), специфичный для завершения оффлайн-транзакций.

Также имейте в виду, что есть 4 Режимы CDA, которые могут поддерживаться ядрами терминала EMV и вашим приложением.

Пожалуйста, следуйте за транзакционными потоками, определенными в спецификациях EMV, представленными в EMVCo site.

+0

Итак, я отправил First Generate AC, и карта ответила ARQC. Так что мне нужно отправить Second Generate AC? Не ВНЕШНИЙ АУТЕНТИРОВАННЫЙ? Что такое код ответа авторизации (тег 0x8A) в этом случае? – magic

0

Стандарты EMV покрывают это в части 3: http://emvco.com/specifications.aspx?id=223

Если ICC реагирует с ARQC, терминал пытается выходить в интернет, отправив сообщение с запросом авторизации эмитента. В сообщение с запросом авторизации входит ARQC для аутентификации онлайн-карт.

Таким образом, ваша карта может быть сконфигурирована только для транзакций «онлайн» или сумма тестовой транзакции превышает установленную на карточке сумму.

проверить список CVM (я думаю, что тег 8E находится в записи 2 1), возвращенный карточкой. http://www.openscdp.org/scripts/tutorial/emv/cardholderverification.html

И это должно рассказать вам, что такое пределы пола и какие режимы CVM использует карта.

Также - попробуйте несколько различных тестовых карт - я нахожу это удобным, чтобы попробовать несколько разных карт при тестировании моего кода.

0

Вы просите карточку генерировать TC сначала. Карточка управляет рисками и возвращает вас с помощью ARQC. ARQC должен быть проверен эмитентом, поэтому вы отправляете ARQC со всеми необходимыми данными Эмитенту. Если терминал способен отправить данные на хост { Эмитент проверяет ARQC и генерирует ARPC-тег 91 (ARC используется в генерации - тег 8A). ARPC отправляется обратно на терминал. Терминал должен сделать теперь Внешний аутентификация (91 [len] [data] 81 [len] [date]) Это должно либо дать вам либо 9000, либо 6300 В случае, если оно 9000, вы запрашиваете карту для создания TC в Второй Gen AC
} иначе, если терминал не сможет выходить в интернет и TAC и IAC Defaults позволяет в автономном режиме, { вы просите карту, чтобы создать ТС в Second Gen AC } еще, если терминал не способен для выхода в Интернет, а настройки TAC и IAC по умолчанию не разрешены в автономном режиме, { вы запрашиваете карту для создания AAC в Second Gen AC } Сделка завершается.

Надеется, что это проясняет

0

MasterCard не поддерживает команду 'ВНЕШНЕГО AUTHENTICATE' в фазе USER. Вот почему ответ карты 6D00 («Код инструкции не поддерживается или недействителен»). Вы должны выполнить второй генератор переменного тока с данными аутентификации эмитента.

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

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