31
SK planet SmartTouch Application IDE Application 통통 통통 통통 통통통 통통통 40891.63v.01.00 1

SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

  • Upload
    volien

  • View
    227

  • Download
    7

Embed Size (px)

Citation preview

Page 1: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

SK planet SmartTouch Application IDE

Application 통합 개발 환경 사용자 가이드

October 29, 2012, v.01.00

1

Page 2: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

Table of ContentsTable of Contents............................................................................................................21. 개요...........................................................................................................................6

1.1. 제약사항...........................................................................................................71.2. 권장사항...........................................................................................................81.3. 용어 및 약어.....................................................................................................91.4. 다운로드 및 기술 지원 문의..............................................................................9

2. Application IDE 설치 및 업그레이드.....................................................................10

2.1. Plugin 설치....................................................................................................102.1.1. Java SE Development Kit (JDK) 설치...................................................102.1.2. Eclipse 설치...........................................................................................102.1.3. Android SDK 및 Plugin 설치..................................................................102.1.4. Application IDE SDK 및 Plugin 설치......................................................122.1.5. 142.1.6. IDE Plugin 업데이트..............................................................................14

2.2. 실행 확인........................................................................................................152.3. 환경 설정........................................................................................................16

3. SmartTouch Application 개발 가이드.................................................................18

3.1. 프로젝트 개발 시작.........................................................................................183.2. 프로젝트 변환.................................................................................................213.3. Package 이름 변경........................................................................................24

4. Application 통합 테스트........................................................................................254.1. Secure Element I/O Emulator...................................................................274.2. Smart Card Reader Adapter Daemon.....................................................27

5. Secure Element Manager...................................................................................285.1. APPLET_INFO................................................................................................285.2. APPLET_PERSO............................................................................................285.3. APPLET_SEIO................................................................................................295.4. NFC_AUTH....................................................................................................295.5. TELCO_AUTH................................................................................................295.6. MGR_APPLET................................................................................................305.7. STD_CRD.......................................................................................................305.8. STD_RYT........................................................................................................305.9. STD_CPN.......................................................................................................315.10. STD_TKT........................................................................................................315.11. STD_TRP........................................................................................................325.12. Secure Element Manager 사용 가이드......................................................33

2

Page 3: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

그림 그림 1 SmartTouch Application IDE Architecture....................................6 그림 2 Android SDK Manager 에서 설치할 항목 선택................................11

그림 3 Android SDK 버튼 확인................................................................12 그림 4 SmartTouch Application Plugin URL 설정....................................13

그림 5 자동 업데이트 설정 화면................................................................14그림 6 수동 업데이트 화면.......................................................................15

그림 7 SmartTouch Application IDE 플러그인 설치 완료..........................15 그림 8 SmartTouch Application Preference 설정 전 화면........................16 그림 9 SmartTouch Application Preference 설정 후 화면........................17

그림 10 개발자 WebPoC 에서 신규 Application 등록 화면..........................18그림 11 Component 사용 신청하기.........................................................19

그림 12 Android Project 생성.................................................................20 그림 13 Android Project 화면.................................................................20 그림 14 Convert Project Context 선택...................................................21 그림 15 Convert Project Toolbar 선택....................................................21

그림 16 권한을 가진 Component 목록.....................................................22그림 17 Convert 완료된 Project 화면......................................................23그림 18 Package Name 변경 알림 팝업...................................................24그림 19 통합 테스트 환경 구성도..............................................................25

그림 20 SmartTouch Application 실행...................................................26그림 21 SCRAD 실행 화면.......................................................................27

3

Page 4: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

표 표 1 용어 및 약어......................................................................................9

표 2 Convert wizard 화면 설명...............................................................22 표 3 APPLET_INFO Component..............................................................28 표 4 APPLET_PERSO Component...........................................................28 표 5 APPLET_SEIO Component..............................................................29 표 6 NFC_AUTH Component..................................................................29 표 7 TELCO_AUTH Component..............................................................29 표 8 MSG_APPLET Component..............................................................30 표 9 STD_CRD Component....................................................................30 표 10 STD_RYT Component..................................................................30 표 11 STD_CPN Component..................................................................31 표 12 STD_TKT Component..................................................................31 표 13 STD_TRP Component..................................................................32

4

Page 5: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

1. 개요

Application 통합 개발 환경(IDE, integrated development environment)은 NFC Open Platform(이하 SmartTouch)에서 제공되는 통합 개발 환경으로 서비스 사업자 및 3rd Party 개발자들의 접근 및 개발이 용이하도록 제공함으로써 NFC 서비스 활성화를 목적으로 합니다.

그림 1 SmartTouch Application IDE Architecture

SmartTouch Application 개발을 위해 개발자에게 제공되는 통합 개발 환경으로서 아래 기능을 가집니다.

개발자 POC 연동을 통한 Login/Logout 개발자 로그인 정보 및 SDK 경로 설정

NRMS 연동 기능

로그인 계정 기반의 SEM 각 컴포넌트 별 사용 권한 조회

프로젝트 변환 마법사 (Convert Project Wizard) Android 프로젝트를 SmartTouch Application 프로젝트의 구조로 변경하는 기능

로그인 계정을 기반하여 Application 별로 사용 가능한 SmartTouch Component 사용 권한 확인 기능

사용하고자 선택한 SmartTouch Component 의 라이브러리를 프로젝트로 복사하고 프로젝트 설정을 변경하여 복사한 라이브러리를 사용 가능하도록 변경

Package Explorer 상에서 표시되는 Android 프로젝트 아이콘을 SmartTouch Application 아이콘으로 변경

통합 테스트 환경 연동

5

Page 6: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

통합 에뮬레이터 연동

SmartTouch Component 라이브러리 자동 설치

개발자 가이드 (Help) 도움말을 통해 Application IDE 사용 방법 및 소스 작성 등의 개발 가이드를 제공

1.1. 제약사항 설치 요구 사항

Windows XP(32 bit) 이상

JDK 1.6 이상

Eclipse Indigo (v3.7) 이상

Android AVD 버전 15 에 최적화

개발자 Web PoC 회원 가입 정보

Application SDK 다운로드

6

Page 7: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

1.2. 권장사항한글을 사용 시 한글 깨짐을 방지하고 Application IDE 가 정상적으로 동작하기 위해 아래와 같이 Eclipse 설정을 ‘UTF-8’로 변경합니다.

eclipse.ini 파일 수정

Eclipse 를 설치한 디렉토리에 존재하는 eclipse.ini 파일에 –Dfile.encoding=UTF-8 을 추가합니다.

Text file encoding 값 변경

Windows > Preferences > General > Workspace 에서 Text file encoding 을 UTF-8 로 수정합니다.

1.3. 용어 및 약어용어/약어 설명

7

Page 8: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

SmartTouch Application

SmartTouch 에서 제공되는 개발 라이브러리를 사용하는 안드로이드 서비스 어플리케이션

SEMSecure Element Manager 의 약어, Applet 발급/삭제, Lock/Unlock 을 비롯하

여 NFC tag Read/Write, 이통 3 사 Applet 연동 기능 등을 SmartTouch 에서 제 공하는 각 NFC 기능을 구현한 개발 라이브러리

SmartTouch Component SEM 을 구성하는 각 개별 API 세트

SE I/O Service Secure Element I/O Service, 기존의 Smart Card Service 에 해당 하는 모듈 로서 APDU Command 를 USIM 으로 전달하는 기능을 제공

SE I/O Emulator

Secure Element I/O Emulator, 통합 에뮬레이팅 환경에서 APDU Command 를 PC Daemon 을 경유하여 Smart Card Reader 를 통해 USIM 으로 전달하는

기능을 제공

NRMS SmartTouch Right Management Server 의 약어, 각 어플리케이션 및 개발자 계정에 대해 SEM 의 각 구성요소에 대한 사용 권한을 관리하는 서버

SEMS Secure Element Management System 의 약어, Applet 등록 및 AID 발급을 비롯하여 발급/삭제, Lock, Unlock 등의 기능을 제공을 위해 연동하는 서버

SmartTouch Applet IDE

Applet 개발을 위해 개발자에게 제공되는 통합 개발환경, eclipse 플러그인 형태로 개발하여 배포

SmartTouch Application IDE

SmartTouch Application 개발을 위해 개발자에게 제공되는 통합 개발환경, eclipse 플러그인 형태로 개발하여 배포

통합 Emulator SmartTouch Applet 또는 Application 검증을 위한 테스트 환경

SCRADSmart Card Reader Apdater Daemon 의 약어, 통합 Emulator 환경에서 클라

이언트의 APDU Command 를 Smart Card Reader 에게 중계해 주기 위한 PC Daemon 모듈

BP Business Partner 의 약자

표 1 용어 및 약어

1.4. 다운로드 및 기술 지원 문의 개발자 센터 (https://www.sksmarttouch.com/web/main/nop/mainPage)

8

Page 9: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

2. Application IDE 설치 및 업그레이드

2.1. Plugin 설치

2.1.1. Java SE Development Kit (JDK) 설치

2.1.1.1. JDK 다운로드

① JDK 를 다운 받기 위해서는 http://www.oracle.com/technetwork/java/index.htm 페이지로 이동합니다.

② Java SE Development Kit (JDK)을 찾아서 다운로드 받습니다.③ 다운로드 받은 JDK 을 인스톨 합니다.

※ 주의사항 ) JDK 는 1.6 이상 설치하셔야 합니다 .

2.1.1.2. JDK 경로 설정

① 환경 변수 창을 띄웁니다.② 변수 이름에 JAVA_HOME, 변수 값에 JDK 가 설치된 경로를 설정합니다.③ 변수 이름에 PATH, 변수 값에 %JAVA_HOME%\bin 경로를 설정합니다.

※ 주의사항 ) JAVA_HOME 이 아닌 다른 이름으로 JDK 환경 변수 설정 시 , Applet 프로젝트가 정상적으로 빌드가 되지 않을 수 있습니다 .

2.1.2. Eclipse 설치

개발자 PC 에 Eclipse 가 미 설치 되어 있을 경우, http://www.eclipse.org 에서 다운 받으신 후 설치하면 됩니다.

※ 주의사항 ) Eclipse 는 버전 3.5 이상 설치하셔야 합니다 .

2.1.3. Android SDK 및 Plugin 설치

Android Application 개발을 위한 Android SDK 와 Eclipse 로 개발하기 위한 ADT Plugin 을 설치합니다.2.1.3.1. Android SDK 설치

Android Application 개발을 위한 Android SDK 를 설치합니다.

① http://developer.android.com/sdk/index.html 에서 Windows 용 SDK 를 다운 받으신 후 설치합니다.

② 설치가 완료되면 Android SDK Manager 를 실행하여 사용할 Android 버전을 선택하고 설치합니다.

※ 주의사항 ) Android 버전은 사용자가 많은 2.3.3 버전을 추천합니다 .

9

Page 10: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

그림 2 Android SDK Manager 에서 설치할 항목 선택

2.1.3.2. ADT Plugin 설치

Android SDK 를 Eclipse 에서 사용하기 위해 ADT(Android Development Tools) Plugin 을 Eclipse 에 설치합니다.

① Eclipse 메뉴의 Help > Install New Software… 선택합니다.② ADT Plugin 설치 URL 주소인 https://dl-ssl.google.com/android/eclipse/ 를

추가하신 후 설치합니다.※ 주의사항 ) 만약 문제가 발생한다면 Location 의 “ https” 대신에 “ http” 로 변경하여

시도하세요 .

③ Eclipse 를 재 시작 합니다.

2.1.3.3. Eclipse 에 Android SDK 연결

Eclipse 가 재 시작 되고 아래 화면과 같은 버튼이 안 보인다면 Android SDK 위치가 지정 되지 않은 것 입니다. 버튼이 보인다면 이 과정은 생략합니다.

10

Page 11: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

그림 3 Android SDK 버튼 확인

① Eclipse 메뉴의 Window > Preferences 선택합니다.② 좌측 화면에서 Android 선택합니다.③ SDK Location 항목에 2.1.3.1 과정 에서 설치한 Android SDK 의 경로를 지정합니다.④ OK 선택하여 완료합니다.

2.1.4. Application IDE SDK 및 Plugin 설치

SmartTouch Application 개발을 위한 Application IDE SDK 와 Eclipse 로 개발하기 위한 Application IDE Plugin 을 설치합니다.2.1.4.1. Application IDE SDK 설치

개발자 Web PoC 에서 다운로드 받은 SDK 압축 해제하시면 아래와 같이 폴더가 구성되어 있습니다. 압축 해제한 폴더는 개발자 임의의 폴더 명으로 변경하셔도 됩니다. 하지만 SDK 안의 폴더는 구성이 변경되면 Eclipse plug-in 에서 비 정상으로 동작하게 됩니다.

폴더 서브폴더 내용

bin SmartTouch Application 실행 시 필요한 툴

apk SmartTouch Application 실행 시 프로젝트에 포함 할 ‘*.apk’ 파일들

docs Application IDE 사용자 가이드

javadoc Secure Element Manager (이하 SEM)의 java doc 문서

lib Application IDE 에서 사용할 라이브러리

11

Page 12: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

2.1.4.2. Application IDE Plugin 설치

① Eclipse 메뉴의 Help > Install New Software… 선택합니다. Add 버튼을 클릭하여 Application IDE URL(https://nrms.sksmarttouch.com:8443/resources/ide/application-update/)을 추가합니다..

그림 4 SmartTouch Application Plugin URL 설정

② SmartTouch Application IDE Plugin 다운로드 합니다.※ 주의사항 ) 설치 도중에 뜨는 Security Warning 은 OK 선택합니다 .

③ 설치가 완료되면 Eclipse 를 재 시작 합니다.

12

Page 13: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

2.1.5.

2.1.6. IDE Plugin 업데이트

2.1.6.1. 자동 업데이트

Eclipse 상단 메뉴의 Window > Preferences > Install/Update > Automatic Updates 를 선택합니다. 아래와 같이 ‘Automatically find new updates and notify me’ 선택을 활성화 하면 Eclipse 재 시작할 때마다 자동으로 Plugin 업데이트 여부를 화면 오른쪽 하단에 알려줍니다.

그림 5 자동 업데이트 설정 화면

2.1.6.2. 수동 업데이트

Eclipse 상단 메뉴의 Help > Check for Updates 를 선택합니다. 업데이트할 Plugin 을 선택하여 업데이트를 수행합니다.

그림 6 수동 업데이트 화면

13

Page 14: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

2.2. 실행 확인

그림 7 SmartTouch Application IDE 플러그인 설치 완료

Application IDE 가 정상적으로 설치가 완료될 경우 위 화면처럼 툴 바에 Convert Project 아이콘이 생성됨을 확인하실 수 있습니다.

2.3. 환경 설정SmartTouch Application IDE SDK 및 사용자 계정 설정을 저장합니다.

① Eclipse 메뉴의 Window > Preferences> SmartTouch Application 을 선택합니다.

14

Page 15: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

그림 8 SmartTouch Application Preference 설정 전 화면

② ‘Browse’ 버튼을 선택하여 개발자 WebPoC 에서 다운받은 Application SDK 위치를 선택합니다.

③ 개발자 WebPoC 에서 가입한 아이디와 비밀번호를 입력 후 ‘설정하기’ 버튼을 클릭하여 로그인을 수행합니다. 로그인이 정상적으로 수행되면 아래 그림과 같이 ‘설정하기’ 버튼이 ‘재 설정하기’로 변경됩니다.

15

Page 16: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

그림 9 SmartTouch Application Preference 설정 후 화면

④ ‘Check Now’ 버튼을 선택하여 현재 가지고 있는 Application SDK 가 최신 버전인지

체크합니다. 실행 시 버전 자동 체크를 선택하면 eclipse 가 시작될 때 마다 해당 SDK 가 최신 버전인지 자동 확인해 줍니다. 만약 가지고 있는 Application SDK 가 최신 버전이 아닐 경우 개발자 WebPoC 에서 최신 SDK 를 다운로드 받습니다.

16

Page 17: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

3. SmartTouch Application 개발 가이드

3.1. 프로젝트 개발 시작SmartTouch Application 프로젝트를 시작하기 위해선 아래와 같은 선행 작업을 완료해야 합니다.

개발자 WebPoC 회원 가입SmartTouch Application 을 사용하기 위해서는 SmartTouch 개발자 WebPoC 회원 가입이 되어 있어야 합니다.

SDK 다운로드SmartTouch 개발자 WebPoC 웹 사이트에 접속 후 SDK 를 다운로드 받습니다. SDK 는 ZIP 파일 형태로 구성되어 있으며, 다운로드 후 설치를 원하는 폴더에 저장 후 압축을 해제 하셔서 사용하시면 됩니다.

위 선행 작업을 완료 후 개발자 WebPoC 에 사용할 신규 Application 을 등록합니다. 이 때, Package Name 은 Application 관리 기본 단위이며, 해당 패키지 이름으로 SmartTouch Application 프로젝트를 생성하셔야 합니다.

그림 10 개발자 WebPoC 에서 신규 Application 등록 화면

17

Page 18: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

등록된 Application 을 선택하여 사용할 Component 권한을 신청합니다.

그림 11 Component 사용 신청하기

18

Page 19: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

개발자 WebPoC 에 Application 을 등록 완료 하면 SmartTouch Application 을 신규 개발을 시작합니다. SmartTouch Application 은 Android 플랫폼에서 동작합니다. 따라서 안드로이드 프로젝트를 먼저 생성합니다. 이 때 Application Name 과 Package Name 은 개발자 WebPoC에서 등록한 이름을 사용하셔야 정상적으로 Component 를 사용하실 수 있습니다.

그림 12 Android Project 생성

생성 완료된 Android project 화면입니다.

그림 13 Android Project 화면

19

Page 20: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

3.2. 프로젝트 변환안드로이드 프로젝트를 SmartTouch Application 프로젝트로 변경하는 기능입니다. 로그인 계정을 기반하여 Application 별로 사용 가능한 SmartTouch Component 를 확인합니다.프로젝트 이름을 선택한 후 오른쪽 마우스 버튼 또는 툴바에 있는 Convert Project 버튼을 누르면 실행됩니다. 만약 SmartTouch Application SDK 경로를 미 지정 시 환경설정 화면을 다시 보여줘 SDK 설치 경로를 설정하도록 합니다. 또한 비(非)로그인일 경우 로그인 팝업 창이 나타난 후 로그인이 성공 하면 Convert Project 가 실행됩니다.

그림 14 Convert Project Context 선택

그림 15 Convert Project Toolbar 선택

선택한 프로젝트의 Project name 과 Package name 정보를 바탕으로 사용 가능한 Component 의 정보를 보여줍니다.

20

Page 21: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

그림 16 권한을 가진 Component 목록

항목. 설명Component

Name 사용 가능한 Component 이름

SDK Ver. Component 를 지원하는 최소 Application IDE SDK 버전

Expire Date Component 사용 권한 만료 날짜

표 2 Convert wizard 화면 설명

각각의 Component 를 더블 클릭하면 해당 Component 에 대한 설명을 볼 수 있습니다.

21

Page 22: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

Finish 버튼을 클릭하면 SmartTouch Application 프로젝트로 변환됩니다.

그림 17 Convert 완료된 Project 화면

SmartTouch Project 로 변경 완료 후 아래와 같은 사항이 변경됩니다. SmartTouch Application Nature 생성

SmartTouch Application Nature 는 SmartTouch Application 프로젝트를 구성하며, 프로젝트 아이콘을 Android 에서 SmartTouch Application 자체 아이콘으로 변경합니다.

SmartTouch 메타데이터 파일 생성프로젝트 변환 시 생성되는 파일로 ‘.nop_app 파일 명으로 생성됩니다. SmartTouch 메타데이터 정보를 사용자가 임의의 값으로 수정 시 프로젝트가 정상적으로 동작하지 않을 수 있습니다.

Component 라이브러리 추가사용 신청한 Component 를 사용할 수 있도록 SEM.jar 라이브러리와 assets 폴더 밑에 SEIOAgent.apk 파일이 추가됩니다.

22

Page 23: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

3.3. Package 이름 변경Convert 된 SmartTouch Application Project 에서 안드로이드 Manifest.xml 의 패키지 이름을 변경 시 아래와 같은 팝업 창이 나타납니다.

그림 18 Package Name 변경 알림 팝업

Component 권한 관리는 패키지 이름으로 하기 때문에 패키지 이름 변경을 원할 시 다시 Convert Project 를 수행하여야 합니다.

23

Page 24: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

4. Application 통합 테스트

Application IDE 는 ADT 에서 제공되는 안드로이드를 기반으로 하여 테스트를 진행할 수 있는 기능을 제공합니다. 안드로이드 애뮬레이팅 환경으로 테스트할 경우 아래와 같은 연동 구성도를 가지며 SmartCard Reader 기를 통해 테스트할 수 있습니다.

※ 권장사항 ) 스마트 카드 리더기는 Gemalto 사 제품인 GEMPC TWIN 으로 사용하길 권장합니다 .

그림 19 통합 테스트 환경 구성도

24

Page 25: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

테스트하고자 하는 프로젝트 이름을 선택한 후 오른쪽 마우스 버튼을 클릭 후 Run > SmartTouch Application 을 실행합니다.

그림 20 SmartTouch Application 실행

에뮬레이터 환경에서 테스트할 경우 Secure Element I/O Emulator (SE I/O Emulator) 설치와 Smart Card Reader Adapter Daemon 이 실행됩니다.

25

Page 26: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

4.1. Secure Element I/O EmulatorSecure Element I/O Emulator (이하 SE I/O Emulator)는 단말 환경하에서 임베드 되어 제공되는 SE I/O Service 를 에뮬레이팅용으로 변경하여 제공하는 모듈입니다.이 SE I/O Emulator 는 SmartTouch Component 로부터 인입되는 APDU Command 를 단말의 USIM 이 아닌 Smart Card Reader Adapter Daemon 을 통해 스마트 카드 리더기에 전달합니다.

4.2. Smart Card Reader Adapter Daemon

그림 21 SCRAD 실행 화면

Smart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command 를 생성하고 이를 스마트 카드 리더기를 통해 USIM에 전달하는 역할을 하는 Window 용 데몬 어플리케이션 입니다.SCRAD 는 SE I/O Emulator 에서 넘겨받은 APDU command 와 이에 대한 응답에 대해서 Log View 를 지원합니다.

26

Page 27: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

5. Secure Element Manager5.1. APPLET_INFO애플릿의 정보 및 버전, 라이프사이클 등의 조회를 할 수 있는 컴포넌트입니다.

기능명 API INPUT OUTPUT 기능 설명

[조회] 애플릿 정보

getAppletInfo aid 애플릿 상세정보등록된 Applet 의 상세정보를 조회하는 기능

[조회] 애플릿 라이프 사이클

getAppletLifeCycle aid 애플릿 라이프 싸이클

애플릿 라이프 사이클(Installed, Selectable, Locked 등) 조회

[조회] 애플릿 버전 조회

getAppletVersion aid 애플릿 버전애플릿의 버전 정보를 조회하는 기능

표 3 APPLET_INFO Component

5.2. APPLET_PERSO애플릿의 발급 / 삭제 및 발급 상태를 조회는 컴포넌트이다.

기능명 API INPUT OUTPUT 기능 설명

[조회] 애플릿의 1차 발급 완료여부

getFirstPersoStatus aid

String 값-NONE: 발급 전-INSTALLED: 1차 발급 완료-PERSONALIZED: 2차 발급 완료-DELETED: 삭제 완료

현재 USIM 에 해당 Applet 의 1차 발급 완료여부

[요청] 애플릿 발급

requestIssueApplet

aid, appletVersio

nTransaction 아이디 애플릿 발급 요청

[요청] 애플릿 삭제

requestDeleteApplet

aid,appletVersio

nTransaction 아이디 애플릿 삭제 요청

[등록] 발급 결과(2차)

postSecondPersoResult aid 2차 발급 정보 등록

성공 여부2차 발급 정보 등록

표 4 APPLET_PERSO Component

5.3. APPLET_SEIOSecure Element I/O 를 통해 Usim Card 와 APDU / RPDU 를 주고 받는다.

기능명 API INPUT OUTPUT 기능 설명

채널 값 가져오기 getChannel - Channel 값 채널값을 조회

ATR 정보 얻기 getATRRPDU 를저장할 byte[]

응답데이터 길이 ATR 정보를 조회

I/O 연결 connect - Channel 값 스마트카드 서비스에 연결

I/O 연결해제 disconnect - Channel 값 스마트카드 서비스 연결 해제

27

Page 28: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

전송 transmit apdu,rpdu 응답데이터 길이 APDU 전송

표 5 APPLET_SEIO Component

5.4. NFC_AUTHNFC 서비스 가능 여부 조회를 담당하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[인증] NFC 서비스 가능 여부

authNfcYn - 서비스 가능 여부 NFC 서비스 가능 여부 조회

표 6 NFC_AUTH Component

5.5. TELCO_AUTHSKT 사용자 여부 조회를 담당하는 컴포넌트입니다.

기능명 API INPUT OUTPUT 기능 설명

[인증] SKT 사용자 여부

authTelcoUser jumin SKT 사용자 여부SKT 사용자 여부 조회, MDN과 주민 번호로 사용자 인증

표 7 TELCO_AUTH Component

5.6. MGR_APPLET애플릿의 Lock / Unlock 등 애플릿을 관리하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[요청] 애플릿 LOCK

requestLockApplet aid,애플릿 버전 Transaction 아이디

해당 Applet 의 Life cycle 을 LOCK 상태로 변경

[요청] 애플릿 UNLOCK

requestUnLockApplet

aid,애플릿 버전 Transaction 아이디

해당 Applet 의 Life cycle 을 UNLOCK 상태로 변경

표 8 MSG_APPLET Component

5.7. STD_CRD발급된 신용카드 리스트, 주결제 신용카드 정보, 주결제 신용카드 셋팅을 담당하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[조회] 발급된 신용카드 리스트

getCreditCards - 신용카드 AIDs 현재 USIM 에 발급된 신용카드 리스트 조회

[조회] 주결제 신용카드 정보

getMainCard - 주결제 신용카드 AID 주결제 신용카드 정보 조회

[설정] 주결제 신용카드

setMainCard aid 성공여부 주결제 신용카드 설정

28

Page 29: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

표 9 STD_CRD Component

5.8. STD_RYT이통 3 사 통합애플릿에 멤버쉽을 발급 / 삭제 / 조회를 담당하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[요청] 멤버쉽 발급

requestIssueRoyalty

제휴사 ID,계열사 ID,track 정보

- 이통 3 사 통합 애플릿에 멤버쉽 발급 요청

[요청] 멤버쉽 삭제

requestDeleteRoyalty 제휴사 ID - 이통 3 사 통합 애플릿에

멤버쉽 삭제 요청

[조회] 멤버쉽 정보

getRoyaltyByNum 레코드 번호 멤버쉽 정보이통 3 사 통합 애플릿 레코드 번호에 해당하는 멤버쉽 정보 조회

표 10 STD_RYT Component

5.9. STD_CPN이통 3 사 통합애플릿에 쿠폰을 발급 / 삭제 / 조회 를 담당하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[요청] 이통 3 사 통합쿠폰 삭제

requestDeleteCoupon 쿠폰 ID,제휴사 ID - 이통 3 사 통합애플릿에 발급된

쿠폰 삭제

[요청] 이통 3 사 통합쿠폰 발급

requestIssueCoupon

제휴사 ID,계열사 ID,쿠폰 ID,

유효기간,인증코드

- 이통 3 사 통합애플릿에 쿠폰 발급 요청

[조회] 이통 3 사 통합쿠폰(by 제휴사 ID)

getCouponsInfoByPartner 제휴사 ID 쿠폰정보 리스트

제휴사 ID 기반 이통 3 사 통합 쿠폰 조회

[조회] 이통 3 사 통합쿠폰(by 제휴사/계열사 ID)

getCouponsInfoByPartnerAffiliate

제휴사 ID,계열사 ID 쿠폰정보 리스트

제휴사 /계열사 ID 기반 이통 3사 통합 쿠폰 조회

표 11 STD_CPN Component

5.10. STD_TKT이통 3 사 통합애플릿에 티켓을 발급 / 삭제 / 조회 를 담당하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[요청] 이통 3 사 통합 티켓 발급

requestIssueTicket

제휴사 ID,계열사 ID,예매번호,상영일시,티켓 ID,인증코드

- 이통 3 사 통합 애플릿에 티켓 발급 요청

[요청] 이통 3 사 통합 티켓 삭제

reqeustDeleteTicket

제휴사 ID,예매번호,티켓 ID

- 이통 3 사 통합 애플릿에 티켓 삭제 요청

[조회] 이통 3 사 통합 티켓 정보(by 예약번호/제휴사 ID)

getTicket 제휴사 ID,예매번호

티켓정보 리스트이통 3 사 통합 애플릿에 발급된 Booking No 기반 티켓 정보 조회

29

Page 30: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

표 12 STD_TKT Component

5.11. STD_TRP교통 카드 잔액 조회 / 교통 서비스 가능 여부 조회 를 담당하는 컴포넌트 입니다.

기능명 API INPUT OUTPUT 기능 설명

[조회] 교통 카드 잔액

getBalance 카드타입 잔액 교통 카드 잔액 조회

[조회] 교통 서비스 가능 여부 확인

getTranitpassYn - Y/N Cashbee 와 Tmoney 의 상태 체크

[요청] 교통카드 활성화

requestTransportationEnable 카드타입 - 해당 교통 카드 활성화

[요청] T-money 라이프사이클 Lock 변경

requestLockTmoney - - Tmoney 애플릿의 라이프

사이클을 Lock 상태로 변경

표 13 STD_TRP Component

30

Page 31: SK Planet Open Platform 구축 · Web view그림 1 SmartTouch Application IDE Architecture6 그림 2 Android SDK Manager에서 설치할 항목 선택11 그림 3 Android SDK 버튼

5.12. Secure Element Manager 사용 가이드Secure Element Manager 를 통하여 ‘Applet.Perso‘ Component 를 사용한 예제입니다.

31