14 апреля, среда 23:02
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Visa, GPO command

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • vitaly121
    Участник создал тему Visa, GPO command

    Visa, GPO command

    Добрый день.
    У меня задача прочитать PAN код из карты VISA paywave. Ридер работает в офлайне.
    Застрял на правильном формировании команды GPO(GET PROCESSING OPTIONS).
    Может кто подскажет, как правильно сформировать команду GPO ?

    [Step 1] Select 2PAY.SYS.DDF01 to get the PSE directory
    Send buffer:
    0000: 00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 …..2PAY.SYS.D
    0010: 44 46 30 31 00 DF01.
    Received buffer:
    0000: 6F 2D 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 o-..2PAY.SYS.DDF
    0010: 30 31 A5 1B BF 0C 18 61 16 4F 07 A0 00 00 00 03 01…..a.O……
    0020: 10 10 50 0B 56 49 53 41 20 43 52 45 44 49 54 90 ..P.VISA CREDIT.
    0030: 00 .
    ———————————————————————–
    [Step 2] Now that we know the AID, select the application
    Send buffer:
    0000: 00 A4 04 00 07 A0 00 00 00 03 10 10 00 ………….
    Received buffer:
    0000: 6F 27 84 07 A0 00 00 00 03 10 10 A5 1C 50 0B 56 o’………..P.V
    0010: 49 53 41 20 43 52 45 44 49 54 9F 38 0C 9F 66 04 ISA CREDIT.8..f.
    0020: 9F 02 06 5F 2A 02 9F 37 04 90 00 …_*..7…
    ————————————————————————–
    [Step 3] Send GET PROCESSING OPTIONS command
    Send buffer:
    80 A8 00 00 12 83 10 [4байта ответ на 9F66] [6 байт ответ на 9F02] [2байта ответ на 5F2A] [4байта ответ на 9F37]
    Последний раз редактировалось vitaly121; 21.03.2013, 19:39.

  • vitaly121
    Участник ответил
    Сообщение от mandobass Посмотреть сообщение
    Нужно сделать конкатенацию части ключа, полученной из сертификата и части ключа, полученной из этого тега.
    .
    Спасибо большое ! ICC Public Key Certificate получилось декриптовать.

    Прокомментировать:


  • mandobass
    Участник ответил
    Среди прочитанных с карты данных должен быть тег 92 (Issuer Public Key Remainder). Что-то типа:
    9214XXXXXXXXXXXXXXXXXXXХХХХХХХХХХХХХХХХХХХХХ

    Нужно сделать конкатенацию части ключа, полученной из сертификата и части ключа, полученной из этого тега.
    То есть, модулус будет иметь значение:
    BE4CB9E7DDE4BFB9B1B87DDB19629C91
    80CCC78A91D5302BAA631A4FFF4BFB7D
    D868819CEF04EB08B34EA05C0F260721
    D8F955C9A2F583DFE59E75ABA614F034
    DD1E1ABECBE31B0BBF0CA7CA8E32B59F
    354A033FF52C1FFDA6EB8641F8216FE5
    71F7DA7126D713B53DE7E799ХХХХХХХХ
    ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ

    Суммарная длина ключа должна быть 128 (0х80) байт.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Сообщение от mandobass Посмотреть сообщение
    Issuer Public Key modulus, полученный из Issuer Public Key Certificate плюс Issuer Public Key Remainder.
    Issuer Public Key Exponent.
    Какое значение в моём случаи Issuer Public Key modulus ? Не могу понять как он вычисляется.

    the decrypted Issuer PK Certificate (Recovered Issuer Certificate)

    6A02476134FF121700AA8001018001BE
    4CB9E7DDE4BFB9B1B87DDB19629C9180
    CCC78A91D5302BAA631A4FFF4BFB7DD8
    68819CEF04EB08B34EA05C0F260721D8
    F955C9A2F583DFE59E75ABA614F034DD
    1E1ABECBE31B0BBF0CA7CA8E32B59F35
    4A033FF52C1FFDA6EB8641F8216FE571
    F7DA7126D713B53DE7E799E7BF119F1C
    613494C26B7154D2932A87F3669A50BC

    Разбор значений пакета :

    Field LEN Description
    Name
    1 Recovered Data Header 1 Hex Value '6A'
    2 Certificate Format 1 Hex Value '02'
    3 Issuer Identifier 4 Lefmost 3-8 digits from the PAN (padded to the right with Hex 'F's) 47 61 34 FF
    4 Certificate Expiration Date 2 MMYY after which this certificate is invalid (12 17)
    5 Certificate Serial Number 3 Binary number unique to this certificate assigned by the issue (00 AA 80)
    6 Hash Algorithm Indicator 1 Identifies the hash algorithm used to produce the Hash Result in the digital signature scheme (01)
    7 Issuer Public Key Algorithm 1 Identifies the digital signature algorithm to be used with the ICC Public Key (01)
    Indicator
    8 Issuer Public Key Length 1 Identifies the length of the Issuer Public Key Modulus in bytes (80)
    9 Issuer Public Key Exponent Length 1 Identifies the length of the Issuer Public Key Exponent in bytes (01)
    10 Issuer Public Key or Leftmost
    Digits of the Issuer Public Key*

    BE4CB9E7DDE4BFB9B1B87DDB19629C91
    80CCC78A91D5302BAA631A4FFF4BFB7D
    D868819CEF04EB08B34EA05C0F260721
    D8F955C9A2F583DFE59E75ABA614F034
    DD1E1ABECBE31B0BBF0CA7CA8E32B59F
    354A033FF52C1FFDA6EB8641F8216FE5
    71F7DA7126D713B53DE7E799

    11 Hash Result 20 Hash of the Issuer Public Key and its related information
    E7 BF 11 9F 1C 61 34 94 C2 6B 71 54 D2 93 2A 87
    F3 66 9A 50

    12 Recovered Data Trailer
    BC - value
    Последний раз редактировалось vitaly121; 28.01.2015, 18:52.

    Прокомментировать:


  • mandobass
    Участник ответил
    Issuer Public Key modulus, полученный из Issuer Public Key Certificate плюс Issuer Public Key Remainder.
    Issuer Public Key Exponent.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Я понял как декриптовать Issuer Public Key Certificate, но не понял как декриптовать ICC Public Key Certificate .
    Какие нужны данные, чтобы декриптовать ICC Public Key Certificate ?

    Прокомментировать:


  • mandobass
    Участник ответил
    ПОС-терминал взаимодействует с хостом в соответствии со стандартом ISO8583. На хосте установлен фронт-офис эквайрера. Однако стандарт ISO8583 слишком "гибок" в плане определения полей данных, поэтому в реальности каждый вендор ПОС-терминалов имеет отдельные версии терминального софта для различных фронт-офисов.

    Из этой ветки уже должно быть понятно, что в случае бесконтактной карты с приложением Visa PayWave карта сама решает, как она хочет провести транзакцию - в онлайне или в офлайне, а также метод аутентификации карты - онлайновый, DDA или какой-то другой. Поэтому запросов терминала, регламентирующих способ проверки карты (DDA) и режим (онлайн/офлайн), не существует. Если говорить о других контактных и бесконтактных приложениях - MC MChip, Visa VSDC, MC PayPass - то там возможны варианты.

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

    Прокомментировать:


  • vitaly121
    Участник ответил
    Сообщение от mandobass Посмотреть сообщение
    Не совсем понятный вопрос. Что должен симулировать этот симулятор - карту, ПОС-терминал, терминальный хост эквайрера?
    хотелось бы понять как кард-ридер должен взаимодействовать с сервером(терминальный хост) в онлайн режиме. Какие запросы должен формировать кард-ридер, чтобы осуществилась проверка карты(DDA) в онлайн режиме. Это вообще возможно реализовать без поддержки банка ?

    Прокомментировать:


  • mandobass
    Участник ответил
    Не совсем понятный вопрос. Что должен симулировать этот симулятор - карту, ПОС-терминал, терминальный хост эквайрера?

    Прокомментировать:


  • vitaly121
    Участник ответил
    А существуют ли симуляторы для тестирования офлан/онлайн режимов работы для visa ?

    Прокомментировать:


  • mandobass
    Участник ответил
    Сообщение от BAT Посмотреть сообщение
    Лог дан только как пример для проверки алгоритма fDDA.
    И, наконец, выполнение fDDA должно завершиться сравнением рассчитанного и декриптованного HASH.

    Для расчета HASH имеем данные

    05010302021FBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
    BBBBBBBBBBBBBBBB
    97229D4D
    000000000123
    0643
    0113BD6039

    e8e9da84e23cadeb7dbcd316a10a1e7564f306f1 - рассчитанный по алгоритму SHA1
    e8e9da84e23cadeb7dbcd316a10a1e7564f306f1 - Decrypted Tag 9F4B

    Совпали - fDDA Correct!!!
    По этой части всё корректно.

    Прокомментировать:


  • BAT
    Участник ответил
    Лог дан только как пример для проверки алгоритма fDDA.
    И, наконец, выполнение fDDA должно завершиться сравнением рассчитанного и декриптованного HASH.

    Для расчета HASH имеем данные

    05010302021FBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB97229D4D00000000012306430113BD6039

    e8e9da84e23cadeb7dbcd316a10a1e7564f306f1 - рассчитанный по алгоритму SHA1
    e8e9da84e23cadeb7dbcd316a10a1e7564f306f1 - Decrypted Tag 9F4B

    Совпали - fDDA Correct!!!

    Прокомментировать:


  • mandobass
    Участник ответил
    Кстати, данная карта приему не подлежит. И не только по причине Expiration Date.

    Прокомментировать:


  • mandobass
    Участник ответил
    Заодно, для контроля, размещу декриптованные значения сертификатов и подписанного DDA:

    Decrypted Tag 90:Issuer Public Key Certificate:
    6A 02 47 61 73 FF 12 13 00 19 7B 01 01 80 01 BE
    ED 0D 6A 8D AC 95 07 15 40 85 6B 8F 13 03 85 BF
    FF A8 45 1F 15 E1 67 6E DE DD F1 AB BF FD E4 B9
    6E 6E BD 51 45 F3 14 DB 60 6F 44 BD 84 8C B3 8D
    C5 00 43 1C 6A 82 B0 A7 0D CC D5 BC B6 E6 A9 14
    9C FB 8E B5 3F 52 AA D4 7D 12 A8 00 C5 5D 79 FC
    EF F7 48 56 99 AB 61 2F F3 34 15 8B 64 3D 1E AF
    2E A7 84 AC 20 53 03 C9 0E 74 5E 41 81 11 E4 F1
    87 FE 62 24 9E FE 9E D3 B1 83 50 25 2C 1F 00 BC

    Decrypted Tag 9F46:ICC Public Key Certificate:
    6A 04 47 61 73 90 01 01 00 10 FF FF 12 10 11 22
    33 01 01 50 01 BA EA BC BC 2F BF 5B 2A D6 65 F3
    01 13 23 4D 51 49 4D 6A F9 8B 68 D7 17 23 B7 CC
    31 41 46 44 3D 92 F6 9C CF F6 88 1F A3 6D 9D C0
    6B 14 2C D4 F9 11 3B FC 01 B6 48 13 C9 DE E7 BF
    ED 0A 51 1F 80 BE DE 13 E7 11 65 41 EB 08 6D A0
    2E 7D 6C 07 9D BB BB BB BB BB BB 98 2D 54 8A 3B
    FC 71 6E 9F 12 FF 1E 74 B7 20 3B E9 A9 6D 81 BC

    Decrypted Tag 9F4B:Signed Dynamic Application Data:
    6A 05 01 03 02 02 1F BB BB BB BB BB BB BB BB BB
    BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB
    BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB
    BB BB BB BB BB BB BB BB BB BB BB E8 E9 DA 84 E2
    3C AD EB 7D BC D3 16 A1 0A 1E 75 64 F3 06 F1 BC

    Прокомментировать:


  • vitaly121
    Участник ответил
    Спасибо, буду изучать.

    Прокомментировать:


  • BAT
    Участник ответил
    Для проверки алгоритма DDA, если нет карты, можно использовать уже готовый лог.
    В этом логе (предыдущее сообщение), хоть начало и не влезло, проверка fDDA выполняется успешно, в чем нетрудно убедиться вручную.

    Прокомментировать:


  • BAT
    Участник ответил
    PCD Get Processing Options
    PCD CLA: 80
    PCD INS: A8
    PCD P1: 00
    PCD P2: 00
    PCD Lc: 12
    PCD Data: 83 10 36 00 00 00 00 00 00 00 01 23 06 43 97 22
    9D 4D
    PCD Le: 00
    PICC Successful
    PICC Data (150 bytes)
    PICC Tag 77:Response Message Template Format 2
    PICC Length:93
    PICC Value :9F 4B 50 6E 9D 34 05 DC 59 B0 3A 3B 49 95 46 12
    5B E6 BC 4F 67 72 73 70 F2 EE 30 03 1E DA 6D 66
    94 E8 8B 7D B9 B0 D8 74 A9 8B B7 1D 09 B2 2D 68
    C4 6F 52 68 B3 F8 46 C5 1D C8 BB 40 56 EA AC AF
    20 22 AB 68 0E A7 11 69 69 B3 CD B0 38 1A 6D D4
    D8 EE 16 94 08 18 01 01 01 10 01 02 00 9F 10 07
    06 01 11 03 90 00 00 57 11 47 61 73 90 01 01 00
    10 D1 01 22 01 11 43 87 80 89 82 02 20 00 9F 36
    02 02 1F 9F 26 08 5C 82 46 20 EF B4 BC BD 9F 6C
    02 10 00
    PICC Tag 9F4B:Signed Dynamic Application Data
    PICC Length:50
    PICC Value :6E 9D 34 05 DC 59 B0 3A 3B 49 95 46 12 5B E6 BC
    4F 67 72 73 70 F2 EE 30 03 1E DA 6D 66 94 E8 8B
    7D B9 B0 D8 74 A9 8B B7 1D 09 B2 2D 68 C4 6F 52
    68 B3 F8 46 C5 1D C8 BB 40 56 EA AC AF 20 22 AB
    68 0E A7 11 69 69 B3 CD B0 38 1A 6D D4 D8 EE 16
    PICC Tag 94:Application File Locator (AFL)
    PICC Length:08
    PICC Value :18 01 01 01 10 01 02 00
    PICC Tag 9F10:Issuer Application Data
    PICC Length:07
    PICC Value :06 01 11 03 90 00 00
    PICC Tag 57:Track 2 Equivalent Data
    PICC Length:11
    PICC Value :47 61 73 90 01 01 00 10 D1 01 22 01 11 43 87 80
    89
    PICC Tag 82:Application Interchange Profile
    PICC Length:02
    PICC Value :20 00
    PICC Tag 9F36:Application Transaction Counter (ATC)
    PICC Length:02
    PICC Value :02 1F
    PICC Tag 9F26:Application Cryptogram (AC)
    PICC Length:08
    PICC Value :5C 82 46 20 EF B4 BC BD
    PICC Tag 9F6C:Application Version Number (Card)
    PICC Length:02
    PICC Value :10 00
    PICC SW1 SW2: 90 00
    PCD Read Record
    PCD CLA: 00
    PCD INS: B2
    PCD P1: 01
    PCD P2: 1C
    PCD Le: 00
    PICC Successful
    PICC Data (18 bytes)
    PICC Tag 70:Application Elementary File (AEF) Data Template
    PICC Length:10
    PICC Value :5A 08 47 61 73 90 01 01 00 10 5F 24 03 10 12 31
    PICC Tag 5A:Application Primary Account Number (PAN)
    PICC Length:08
    PICC Value :47 61 73 90 01 01 00 10
    PICC Tag 5F24:Application Expiration Date
    PICC Length:03
    PICC Value :10 12 31
    PICC SW1 SW2: 90 00
    PCD Read Record
    PCD CLA: 00
    PCD INS: B2
    PCD P1: 01
    PCD P2: 14
    PCD Le: 00
    PICC Successful
    PICC Data (150 bytes)
    PICC Tag 70:Application Elementary File (AEF) Data Template
    PICC Length:93
    PICC Value :90 81 90 61 B5 F7 4B EB 13 5D 31 B7 3A 0B 17 BF
    D8 C5 A3 28 45 CC 08 0F 34 88 DA B1 95 0C 6C 55
    89 C3 13 37 B5 30 08 88 B1 67 C9 F2 83 B7 1C D2
    58 02 4E 32 FC 3E 39 AC F5 60 1C 9E 99 25 FC 61
    58 9D C3 38 FF B4 5C D7 07 43 7D 5F 77 87 2F 46
    EB AB DB 4C 23 01 02 69 DF DE 0B E8 A9 E6 16 53
    8C 8D E5 57 DC 02 AA B3 5B 28 CA DD 38 20 7F A1
    16 68 14 FD 19 E8 03 77 5D 0B A3 EA 3B C2 E4 75
    AD 40 DF AD 2E CA 82 17 E0 CD EF 86 6B 28 44 A4
    6E 6C 6B
    PICC Tag 90:Issuer Public Key Certificate
    PICC Length:90
    PICC Value :61 B5 F7 4B EB 13 5D 31 B7 3A 0B 17 BF D8 C5 A3
    28 45 CC 08 0F 34 88 DA B1 95 0C 6C 55 89 C3 13
    37 B5 30 08 88 B1 67 C9 F2 83 B7 1C D2 58 02 4E
    32 FC 3E 39 AC F5 60 1C 9E 99 25 FC 61 58 9D C3
    38 FF B4 5C D7 07 43 7D 5F 77 87 2F 46 EB AB DB
    4C 23 01 02 69 DF DE 0B E8 A9 E6 16 53 8C 8D E5
    57 DC 02 AA B3 5B 28 CA DD 38 20 7F A1 16 68 14
    FD 19 E8 03 77 5D 0B A3 EA 3B C2 E4 75 AD 40 DF
    AD 2E CA 82 17 E0 CD EF 86 6B 28 44 A4 6E 6C 6B
    PICC SW1 SW2: 90 00
    PCD Read Record
    PCD CLA: 00
    PCD INS: B2
    PCD P1: 02
    PCD P2: 14
    PCD Le: 00
    PICC Successful
    PICC Data (180 bytes)
    PICC Tag 70:Application Elementary File (AEF) Data Template
    PICC Length:B1
    PICC Value :8F 01 95 92 14 A2 EF A5 CB F0 2C C4 7D 47 83 3B
    B7 B2 7E CC 69 62 38 5A 4B 5F 34 01 01 9F 32 01
    03 9F 46 81 80 19 C7 61 83 41 0F A8 6A 1B 93 7F
    DD 37 EF 24 4F 42 55 FC 02 B4 91 34 19 9B C2 0B
    39 FF B2 D7 07 0D E3 77 51 6D 17 F3 31 AF D3 8A
    0F 77 5B 6B 5E 6F 2B 66 24 16 89 2C 81 6E 92 63
    8E 17 35 5D D2 A1 61 CC EB 7A 66 A5 6F 22 D4 07
    F8 D0 44 BE 66 A9 C3 C9 41 2C BB 5D 76 5A 1A 0C
    13 CC 9A 72 F6 6A 57 FE 14 E2 20 A1 6D 5B A8 57
    5A 29 35 1D 11 12 32 A4 0D B7 75 89 B0 40 5D 92
    9E 15 9E 3F BE 9F 47 01 03 9F 69 05 01 13 BD 60
    39
    PICC Tag 8F:Certification Authority Public Key Index
    PICC Length:01
    PICC Value :95
    PICC Tag 92:Issuer Public Key Remainderer
    PICC Length:14
    PICC Value :A2 EF A5 CB F0 2C C4 7D 47 83 3B B7 B2 7E CC 69
    62 38 5A 4B
    PICC Tag 5F34:Application PAN Sequence Number
    PICC Length:01
    PICC Value :01
    PICC Tag 9F32:Issuer Public Key Exponent
    PICC Length:01
    PICC Value :03
    PICC Tag 9F46:ICC Public Key Certificate
    PICC Length:80
    PICC Value :19 C7 61 83 41 0F A8 6A 1B 93 7F DD 37 EF 24 4F
    42 55 FC 02 B4 91 34 19 9B C2 0B 39 FF B2 D7 07
    0D E3 77 51 6D 17 F3 31 AF D3 8A 0F 77 5B 6B 5E
    6F 2B 66 24 16 89 2C 81 6E 92 63 8E 17 35 5D D2
    A1 61 CC EB 7A 66 A5 6F 22 D4 07 F8 D0 44 BE 66
    A9 C3 C9 41 2C BB 5D 76 5A 1A 0C 13 CC 9A 72 F6
    6A 57 FE 14 E2 20 A1 6D 5B A8 57 5A 29 35 1D 11
    12 32 A4 0D B7 75 89 B0 40 5D 92 9E 15 9E 3F BE
    PICC Tag 9F47:ICC Public Key Exponent
    PICC Length:01
    PICC Value :03
    PICC Tag 9F69:Unknown
    PICC Length:05
    PICC Value :01 13 BD 60 39
    PICC SW1 SW2: 90 00

    Прокомментировать:


  • mandobass
    Участник ответил
    Вы можете скачать Book C-3 Kernel 3 Specification по ссылке:
    http://www.emvco.com/specifications.aspx?id=21

    На странице 124 приведено описание тега 9F66.
    Только учитывайте, что описания тега 9F66 в спецификациях EMV и Visa имеют некоторые различия.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Сообщение от mandobass Посмотреть сообщение
    Уменьшите сумму транзакции до 10 (чтобы наверняка быть внутри разрешенного диапазона для офлайна).
    Используйте для тега 9F66 значение A6 00 00 00 (online, no CVM) или A8 00 00 00 (offline, no CVM), или AA 40 00 00 (offline, sign, CVM).
    Попробуйте вместо доллара использовать евро (тег 5F2A = 0978).
    Если и после этого ваша карта "не захочет" идти в офлайн, значит ее офлайновые счетчики сброшены в ноль и карта может работать только в онлайне.
    Не захотела в офлайн идти.
    А можете ткнуть носом (указать номер страницы,) где написано как формировать данные для тэга 9F66. Я так понял это написано в книге №3 ? Хотелось бы понять откуда берутся значения
    A6 00 00 00 A8 00 00 00 AA 40 00 00 ?

    Прокомментировать:


  • mandobass
    Участник ответил
    Сообщение от vitaly121 Посмотреть сообщение
    Вот для $20 долларов
    Уменьшите сумму транзакции до 10 (чтобы наверняка быть внутри разрешенного диапазона для офлайна).
    Используйте для тега 9F66 значение A6 00 00 00 (online, no CVM) или A8 00 00 00 (offline, no CVM), или AA 40 00 00 (offline, sign, CVM).
    Попробуйте вместо доллара использовать евро (тег 5F2A = 0978).
    Если и после этого ваша карта "не захочет" идти в офлайн, значит ее офлайновые счетчики сброшены в ноль и карта может работать только в онлайне.

    Сообщение от vitaly121 Посмотреть сообщение
    Но мне нужны исходники с любым языком и под любую платформу, главное это алгоритм работы с картой. Хорошо когда есть возможность подсмотреть как делается emv card processing
    Общий алгоритм работы с картой вы можете посмотреть в открытой документации на сайте EMVCo. Если вам надо работать с конкретными бесконтактными приложениями Visa PayWave или MC PayPass, то надо читать спецификации на данные приложения.
    Последний раз редактировалось mandobass; 28.10.2013, 18:40.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Сообщение от mandobass Посмотреть сообщение
    В вашем примере вы задали сумму транзакции $1000. О каком офлайне можно говорить?
    Подставьте сумму транзакции не более $20.
    А для какой программно-аппаратной платформы?
    Вот для $20 долларов

    Send buffer:
    0000: 02 80 A8 00 00 12 83 10 A6 40 00 00 00 00 00 00 .........@......
    0010: 20 00 08 40 11 22 33 44 00 ..@."3D.
    Received buffer:
    0000: 77 3E 9F 10 07 06 01 11 03 A0 00 00 5F 20 02 20 w>.........._ .
    0010: 2F 57 10 43 41 79 50 00 00 01 20 D2 01 22 01 13 /W.CAyP... .."..
    0020: 45 06 83 5F 34 01 05 82 02 20 00 9F 36 02 00 22 E.._4.... ..6.."
    0030: 9F 26 08 30 09 F2 F4 6B 79 7D 18 9F 6C 02 90 00 .&.0...ky}..l...
    0040: 90 00 ..


    77 Response Message Template Format 2
    9F10 Issuer Application Data
    06011103A00000
    5F20 Cardholder Name
    /
    57 Track 2 Equivalent Data
    4341795000000120D201220113450683
    5F34 Application Primary Account Number (PAN) Sequence Number
    05
    82 Application Interchange Profile
    2000
    9F36 Application Transaction Counter (ATC)
    0022
    9F26 Application Cryptogram
    3009F2F46B797D18
    9F6C Unknown tag
    9000

    А вообще мне надо в перспективе написать программу для осуществления платежей вот для этой железки
    http://www.casauto.com.tw/en/in-prod...actless+Reader

    Он построен на ARM контроллере. В нём прошита библиотека которая позволяет работать с VISA картами на уровне APDU команд.
    Но мне нужны исходники с любым языком и под любую платформу, главное это алгоритм работы с картой. Хорошо когда есть возможность подсмотреть как делается emv card processing

    Прокомментировать:


  • mandobass
    Участник ответил
    Сообщение от vitaly121 Посмотреть сообщение
    Пробовал менять валюту и её значение, всё тоже самое (онлайн).
    Вот один из примеров
    Send buffer:
    0000: 02 80 A8 00 00 12 83 10 A6 40 00 00 00 00 00 10 .........@......
    0010: 00 00 08 40 11 22 33 44 00 ...@."3D.
    В вашем примере вы задали сумму транзакции $1000. О каком офлайне можно говорить?
    Подставьте сумму транзакции не более $20.

    Сообщение от vitaly121 Посмотреть сообщение
    А вообще какие существуют библиотеки(открытые и комерческие) для работы с EMV протоколом ?
    А для какой программно-аппаратной платформы?

    Прокомментировать:


  • vitaly121
    Участник ответил
    А вообще какие существуют библиотеки(открытые и комерческие) для работы с EMV протоколом ? Мне приглянулась вот эта библиотечка http://www.openscdp.org/, но исходный код закрыт.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Сообщение от mandobass Посмотреть сообщение
    Visa Contactless Payment Specification


    Ваша карта поддерживает два профайла - MSD и qVSDC. Используйте тег 9F66 со значением: 26 40 00 00 или A6 40 00 00
    Попробуйте задать для тега 5F2A (код валюты транзакции) значение 09 78 (евро) или 08 40 (доллар).
    Для тега 9F02 (сумма транзакции) задайте один доллар/евро: 00 00 00 00 01 00

    Ради интереса попробуйте установить тег 9F66 со значением: 28 40 00 00 (offline-терминал).
    Так же можно попробовать тег 9F66 со значением: 26 00 00 00 или 28 00 00 00 (no CVM required).

    Если вы посмотрите AIP:
    то увидите, что профайл qVSDC вашей карты поддерживает только DDA.
    Пробовал менять валюту и её значение, всё тоже самое (онлайн).
    Вот один из примеров
    Send buffer:
    0000: 02 80 A8 00 00 12 83 10 A6 40 00 00 00 00 00 10 .........@......
    0010: 00 00 08 40 11 22 33 44 00 ...@."3D.
    Received buffer:
    0000: 77 3E 9F 10 07 06 01 11 03 A0 00 00 5F 20 02 20 w>.........._ .
    0010: 2F 57 10 43 41 79 50 00 00 01 20 D2 01 22 01 13 /W.CAyP... .."..
    0020: 45 06 83 5F 34 01 05 82 02 20 00 9F 36 02 00 20 E.._4.... ..6..
    0030: 9F 26 08 61 20 0E 89 D8 57 CE 11 9F 6C 02 90 00 .&.a ...W...l...
    0040: 90 00

    Буду изучать как сделать DDA.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Сообщение от BAT Посмотреть сообщение
    Данные тэга 9F66 можно посмотреть и на сайте EMVCO. Книга Book C-3 Kernel 3 Specification.

    А стоит ли мучиться именно с этой картой?
    Если Вы решаете задачу реализации DDA (а точнее для бесконтактной VISA говорить о fDDA), то возьмите карту, которая охотно соглашается на offline. Хотя бы из тестового набора qVSDC. Карта вернет и 9F4B и AFL с сертификатами и Вы сможете реализовать её проверку на подлинность.
    Карты другой нет. Ребята из Visa нам дала специльную тестовую карту.
    А где находится этот тестовый набор qVSDC ?

    Прокомментировать:


  • BAT
    Участник ответил
    Данные тэга 9F66 можно посмотреть и на сайте EMVCO. Книга Book C-3 Kernel 3 Specification.

    А стоит ли мучиться именно с этой картой?
    Если Вы решаете задачу реализации DDA (а точнее для бесконтактной VISA говорить о fDDA), то возьмите карту, которая охотно соглашается на offline. Хотя бы из тестового набора qVSDC. Карта вернет и 9F4B и AFL с сертификатами и Вы сможете реализовать её проверку на подлинность.

    Прокомментировать:


  • mandobass
    Участник ответил
    Сообщение от vitaly121 Посмотреть сообщение
    А где можно посмотреть какие данные могут записываться по тэгу 9F66 ?
    Visa Contactless Payment Specification

    Сообщение от vitaly121 Посмотреть сообщение
    но не могу понять какой GPO запрос надо сформировать, чтобы карта перешла в режим работы offline.
    Ваша карта поддерживает два профайла - MSD и qVSDC. Используйте тег 9F66 со значением: 26 40 00 00 или A6 40 00 00
    Попробуйте задать для тега 5F2A (код валюты транзакции) значение 09 78 (евро) или 08 40 (доллар).
    Для тега 9F02 (сумма транзакции) задайте один доллар/евро: 00 00 00 00 01 00

    Ради интереса попробуйте установить тег 9F66 со значением: 28 40 00 00 (offline-терминал).
    Так же можно попробовать тег 9F66 со значением: 26 00 00 00 или 28 00 00 00 (no CVM required).

    P.S.
    Кстати, поодержка SDA для профайла qVSDC убрана из спецификации. Если вы посмотрите AIP:
    82 Application Interchange Profile
    2000
    то увидите, что профайл qVSDC вашей карты поддерживает только DDA.
    Последний раз редактировалось mandobass; 24.10.2013, 21:37.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Пробовал с картой работать другим ридером (контактным).
    Так для того же аид ответы на селект отличаются в контактном и бесконтактном ридере.
    И для контактного ридера вот такой дамп обмена
    00 A4 04 00 07 A0 00 00 00 03 10 10
    61 20
    00 C0 00 00 20
    6F 1E 84 07 A0 00 00 00 03 10 10 A5 13 50 0B 56 49 53 41 20 43 52 45 44 49 54 9F 38 03 9F 1A 02 90 00
    80 A8 00 00 04 83 02 08 04
    61 10
    00 C0 00 00 10
    80 0E 3C 00 08 02 02 00 10 01 02 00 18 01 02 01 90 00
    видно что GPO для контатного ридера вернула три AFL

    Тоесть я сейчас застрял на том, что карта не хочет работать в offline режиме с бесконтактным ридером.
    Сумму денег менял до 1.
    Последний раз редактировалось vitaly121; 24.10.2013, 17:13.

    Прокомментировать:


  • vitaly121
    Участник ответил
    Вот результаты для
    46 40 00 00
    16 40 00 00
    66 40 00 00

    Send buffer:
    0000: 80 A8 00 00 12 83 10 46 40 00 00 00 00 00 10 .......F@......
    0010: 00 00 06 43 11 22 33 44 00 ...C."3D.
    Received buffer:
    0000: 69 84

    Send buffer:
    0000: 80 A8 00 00 12 83 10 16 40 00 00 00 00 00 10 .........@......
    0010: 00 00 06 43 11 22 33 44 00 ...C."3D.
    Received buffer:
    0000: 69 84 i.

    Send buffer:
    0000: 80 A8 00 00 12 83 10 66 40 00 00 00 00 00 10 .......f@......
    0010: 00 00 06 43 11 22 33 44 00 ...C."3D.
    Received buffer:
    0000: 77 3E 9F 10 07 06 01 11 03 A0 00 00 5F 20 02 20 w>.........._ .
    0010: 2F 57 10 43 41 79 50 00 00 01 20 D2 01 22 01 13 /W.CAyP... .."..
    0020: 45 06 83 5F 34 01 05 82 02 20 00 9F 36 02 00 16 E.._4.... ..6...
    0030: 9F 26 08 F9 7A DC 02 40 28 43 99 9F 6C 02 90 00 .&..z..@(C..l...
    0040: 90 00


    77 Response Message Template Format 2
    9F10 Issuer Application Data
    06011103A00000
    5F20 Cardholder Name
    /
    57 Track 2 Equivalent Data
    4341795000000120D201220113450683
    5F34 Application Primary Account Number (PAN) Sequence Number
    05
    82 Application Interchange Profile
    2000
    9F36 Application Transaction Counter (ATC)
    0016
    9F26 Application Cryptogram
    F97ADC0240284399
    9F6C Card Transaction Qualifiers.
    9000

    Тоесть пока я получаю 3 типа ответа на GPO
    1) 80 06 00 80 08 01 01 00 90 00
    2) 77 3E 9F 10 07 06 01 11 03 A0 00 00 5F 20 02 20
    2F 57 10 43 41 79 50 00 00 01 20 D2 01 22 01 13
    45 06 83 5F 34 01 05 82 02 20 00 9F 36 02 00 19
    9F 26 08 6C 6F 8C 6D C9 88 DF B7 9F 6C 02 90 00
    90 00
    отличаются подобные ответы тэгами
    9F36 Application Transaction Counter (ATC)
    9F26 Application Cryptogram
    3) 69 84

    А где можно посмотреть какие данные могут записываться по тэгу 9F66 ?
    Мне поставили задачу реализовать SDA и DDA.
    Я вычитал все тэги карты и нашёл в каком рекорде находится public key index,
    но не могу понять какой GPO запрос надо сформировать, чтобы карта перешла в режим работы offline.

    Прокомментировать:


  • BAT
    Участник ответил
    Можно добавить, что AFL отсутствует, поскольку карта приняла решение идти в Online (тип криптограммы ARQC), а для этого все EMV данные уже есть в ответе на GPO.
    Если бы карта предложила одобрить операцию в offline, то AFL бы появился, чтобы ридер имел возможность сосчитать сертификаты ключей и пр. Попробуйте уменьшить сумму транзакции.

    Прокомментировать:

Обработка...
X