IC카드가 삽입되면 ATR을 처리하고 (T0,T1 처리) Payment System Environment (PSE)을 SELECT한다.
P1은 0x04로 NAME으로 찾겠다로 하고 P2는 0 으로 해서 처음이라고 한다.
File Name 은 "1PAY.SYS.DDF01" 이고 이는 Directory Definition File (DDF) named '1PAY.SYS.DDF01' 로 emv book 에 나와있다.
send to ic: [00,A4,04,00,0E,31,50,41,59,2E,53,59,53,2E,44,44,46,30,31,] 6F : FCI Template -> 1e : len 84 : DF name -> 0e : len -> 31,50,41,59,2E,53,59,53,2E,44,44,46,30,31 (1PAY.SYS.DDF01) A5 : FCI Propreietary Template -> 0c : len -> 88 ~ 90 00 앞까지 88 : SFI -> 01 : len -> 01 : SFI는 1개 5F 2D : Language Preference -> len : 02 -> 7A,68 (zh, 중국어) 9F 11 : Issuer Code Table Index -> len : 01 -> 01 인덱스는 1개 90 00 : sw 1 sw2 |
다음 단계를 Read Record를 진행한다. 1번 레코드여서 p1은 01 , p2는 0c로 시작한다. 수신된 데이터는 70으로 시작하는
Record Template 데이터가 있다.
to ic : [00,B2,01,0C,00,] to ic : [00,B2,02,0C,00,] |
레코드가 하나뿐임으로 Final Selection을 한다. 사용하는 커맨드는 Select 이다.
to ic: [00,A4,04,00,08,A0,00,00,03,33,01,01,02,] from ic : : [6F,4C,84,08,A0,00,00,03,33,01,01,02,A5,40,50,0F,55,6E,69,6F,6E,50,61,79,20,43,72,65,64,69,74,87,01,01, 9F,38,06,9F,02,06,5F,2A,02,5F,2D,02,7A,68,9F,11,01,01,9F,12,0F,55,6E,69,6F,6E,50,61,79,20,43,72,65,64,69,74,BF,0C,05, 9F,4D,02,0B,0A,90,00,] 6F : FCI Template -> 4c : len |
AID선택이 끝났으니 이제 Get Processing Option Command 로 AID가 지원하는 설정값들을 확인한다.
SDA인지 레코드가 몇개인지 등등.
'개발이야기' 카테고리의 다른 글
맥OS에서 exFAT 외장디스크 복구하기 (0) | 2020.01.23 |
---|---|
[EMV] 해외카드 EMV 로그분석 02 (1) | 2019.06.20 |
[EMV] TVR (Terminal Verification Results) (0) | 2019.05.13 |
임베디드 리눅스 입력 디바이스 관리 (0) | 2019.04.18 |
임베디드 리눅스 input device 관련 (0) | 2019.02.14 |