sk planet open platform 구축 · web viewsmart card reader adapter daemon (이하 scrad)는...

55
SK planet Open Platform 구구 Software Requirement Specification 12/14/112, v.01.00 1

Upload: others

Post on 27-Jan-2020

3 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

SK planet SmartTouch Applet IDE

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

October 29, 2012, v.01.00

1

Page 2: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

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

1.1. 제약사항...........................................................................................................81.2. 권장사항...........................................................................................................91.3. 용어 및 약어...................................................................................................101.4. 다운로드 및 기술 지원 문의............................................................................10

2. Applet IDE 설치 및 업그레이드.............................................................................11

2.1. Plugin 설치....................................................................................................112.1.1. Java SE Development Kit (JDK) 설치...................................................112.1.2. Eclipse 설치...........................................................................................112.1.3. Android SDK 및 ADT Plugin 설치..........................................................112.1.4. Applet IDE Plugin 설치..........................................................................132.1.5. IDE Plugin 업데이트..............................................................................15

2.2. 실행 확인........................................................................................................162.3. 환경 설정........................................................................................................17

3. Applet 개발 가이드................................................................................................19

3.1. 프로젝트 개발 시작.........................................................................................193.2. 프로젝트 모드 선택.........................................................................................20

3.2.1. Empty Project........................................................................................203.2.2. Sample Project......................................................................................213.2.3. User-Defined Project.............................................................................22

3.3. 프로젝트 생성.................................................................................................244. Applet Manager....................................................................................................26

4.1. Applet 및 Cap 파일 정보 조회......................................................................274.2. Applet 관리...................................................................................................29

4.2.1. Applet 등록............................................................................................294.2.2. Applet 수정............................................................................................314.2.3. Applet 삭제............................................................................................32

4.3. Cap 파일 관리................................................................................................334.3.1. Cap 파일 등록........................................................................................334.3.2. Cap 파일 수정........................................................................................344.3.3. Cap 파일 업데이트................................................................................35

4.4. 검증 요청........................................................................................................36

5. Applet 통합 테스트................................................................................................395.1. Secure Element I/O Emulator...................................................................415.2. Smart Card Reader Adapter Daemon.....................................................415.3. Applet TC......................................................................................................42

5.3.1. 기본 테스트............................................................................................425.3.2. 고급 테스트............................................................................................45

6. 부록.........................................................................................................................46

6.1. Android LogCat View 창 실행.....................................................................466.2. Android Emulator SD Card 사용 방법.......................................................49

6.2.1. SD Card 가 탑재되어 있는 Android Emulator 생성................................496.2.2. Emulator 의 SD Card 사용 방법.............................................................49

6.3. Script 작성 방법............................................................................................516.3.1. 기본 규칙...............................................................................................51

2

Page 3: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

6.3.2. Script Command....................................................................................517. FAQ.........................................................................................................................55

3

Page 4: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림그림 1 SmartTouch Applet IDE Architecture...........................................7

그림 2 Android SDK Manager 에서 설치할 항목 선택................................12그림 3 Android SDK 버튼 확인................................................................13그림 4 IDE 업그레이드 URL 설정..............................................................14그림 5 자동 업데이트 설정 화면................................................................15그림 6 수동 업데이트 화면.......................................................................15그림 7 SmartTouch Applet IDE 플러그인 설치 완료..................................16그림 8 SmartTouch Applet Preference 설정 전 화면................................17

그림 9 SmartTouch Applet Preference 설정 후 화면...............................18 그림 10 SmartTouch Applet Project 생성 화면........................................19 그림 11 SmartTouch Applet Project 설정...............................................20 그림 12 Sample Project 선택..................................................................21

그림 13 파일 생성/수정/삭제....................................................................22그림 14 API 생성/수정/삭제.....................................................................23그림 15 User-defined 모드로 프로젝트 생성.............................................24

그림 16 Applet Manager Context 메뉴...................................................26 그림 17 Applet Manager Toolbar...........................................................26

그림 18 Applet Manager 창...................................................................27그림 19 Applet 등록 화면........................................................................29그림 20 기존 목록에서 AID 선택 화면........................................................31그림 21 Applet 수정 화면........................................................................31그림 22 신규 Cap 파일 등록 화면.............................................................33그림 23 검증 성공일 경우 Cap 파일 정보 수정 화면.....................................34그림 24 Cap 파일 업데이트......................................................................35그림 25 Cap 파일이 검증 중 상태인 경우...................................................36그림 26 Cap 파일이 검증 성공 상태인 경우................................................37그림 27 Cap 파일이 검증 반려 상태인 경우................................................37그림 28 검증 상세정보.............................................................................38그림 29 통합 테스트 환경 구성도..............................................................39그림 30 Applet Test 실행.......................................................................40그림 31 SCRAD 실행 화면.......................................................................41그림 32 기본 테스트 화면.........................................................................42그림 33 서버 로그 기록 팝업 창 화면.........................................................43그림 34 LogCat 화면..............................................................................44

4

Page 5: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 35 고급 테스트 화면........................................................................45 그림 36 Show View as a Fast View........................................................46 그림 37 Show View...............................................................................47 그림 38 Perspective 창..........................................................................47

그림 39 Device 선택 화면.......................................................................48그림 40 SD Card 가 탑재된 AVD 생성.......................................................49

그림 41 Virtual SD Card 영역.................................................................50 그림 42 Push or Pull a file.....................................................................50

5

Page 6: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

표 표 1 용어 및 약어....................................................................................10

표 2 Applet 조회 정보.............................................................................27표 3 Cap 파일 조회 정보..........................................................................28표 4 Applet 등록 정보.............................................................................30표 5 Applet 수정 정보.............................................................................32표 6 Cap 파일 등록 정보..........................................................................33표 7 Cap 파일 수정 정보..........................................................................34

표 8 검증 의견 정보.................................................................................38 표 9 스크립트 명령어...............................................................................53

6

Page 7: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

1. 개요

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

그림 1 SmartTouch Applet IDE Architecture

SmartTouch Applet 통합 개발 환경은 이클립스의 플러그 인 형태로 제공되며 아래 기능을 가집니다.

개발자 POC 연동을 통한 Login/ Logout 개발자 로그인 정보 설정 (Preferences) SEMS API 연동 기능

신규 AID 발급 요청 및 기 발급받은 AID 목록 조회

Applet 상세 정보 조회/수정/등록

Applet CAP 파일 등록

검증 요청 및 검증 진행 상태 조회

테스트 로그 조회

신규 프로젝트 생성 마법사 (New Project Wizard) 개발 편의를 위한 템플릿 소스 제공

간단한 데이터 구조 입력을 통한 템플릿 소스 생성

Applet 관리 (Applet Manager)7

Page 8: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

신규 AID 발급

기 등록한 Applet 정보 조회 및 수정

신규 Applet 및 Cap 등록

Applet 에 대한 검증 진행 상태 조회

통합 테스트 환경 연동

통합 에뮬레이터 연동

테스트용 어플리케이션을 통해 Applet 설치/삭제, Lock/Unlock 등의 기본 기능 테스트 환경 제공

테스트 어플리케이션을 통해 사용자 정의 APDU 명령에 대한 테스트 환경 제공

개발자 가이드 (Help) 도움말을 통해 Applet IDE 사용 방법 및 소스 작성 등에 대한 전반적인 개발 가이드

제공

1.1. 제약사항 Plug-in 설치 요구 사항

Windows XP(32 bit) 이상

JDK 1.6 이상

Eclipse Indigo (v3.7) 이상

Android AVD 버전 15 에 최적화

개발자 Web PoC 회원 가입 정보

8

Page 9: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

1.2. 권장사항한글을 사용 시 한글 깨짐을 방지하고 Applet 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. 용어 및 약어용어/약어 설명

9

Page 10: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

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)

10

Page 11: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

2. Applet 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 및 ADT 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 버전을 추천합니다 .

11

Page 12: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 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 를 재 시작 합니다.

12

Page 13: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

2.1.3.3. Eclipse 에 Android SDK 연결

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

그림 3 Android SDK 버튼 확인

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

2.1.4. Applet IDE Plugin 설치

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

13

Page 14: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 4 IDE 업그레이드 URL 설정

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

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

14

Page 15: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

2.1.5. IDE Plugin 업데이트

2.1.5.1. 자동 업데이트

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

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

2.1.5.2. 수동 업데이트

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

그림 6 수동 업데이트 화면

15

Page 16: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

2.2. 실행 확인

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

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

16

Page 17: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

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

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

그림 8 SmartTouch Applet Preference 설정 전 화면

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

17

Page 18: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 9 SmartTouch Applet Preference 설정 후 화면

18

Page 19: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

3. Applet 개발 가이드

3.1. 프로젝트 개발 시작Applet 신규 개발 시, SmartTouch Applet IDE 에서 제공하는 프로젝트로 생성합니다. SmartTouch Applet Project 를 선택하여 생성하고자 하는 프로젝트의 모드를 선택합니다.

그림 10 SmartTouch Applet Project 생성 화면

19

Page 20: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

3.2. 프로젝트 모드 선택프로젝트 모드는 크게 (Empty) Project, Sample Project 그리고 User-defined Project 로 나뉩니다.

그림 11 SmartTouch Applet Project 설정

3.2.1. Empty Project빈 프로젝트로 생성하여 모든 소스를 개발자가 작성하도록 하는 개발 모드 입니다. 프로젝트 생성 시 필요한 간단한 정보만 입력하면 프로젝트가 생성이 됩니다.

20

Page 21: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

3.2.2. Sample ProjectApplet 의 기능을 간단히 테스트해 볼 수 있는 샘플코드를 생성하는 개발 모드 입니다.3.2.2.1. Select Sample Project 샘플 Project 는 Simple Project 와 Security Project 를 제공합니다.

그림 12 Sample Project 선택

Simple Project 은 쿠폰 파일을 읽고 쓰는 간단한 명령어들로 구성되어 있는 샘플 예제이고 Security Project 는 Simple Project 기능에 External Authenticate 보안이 추가되어 있는 샘플 예제 입니다.

21

Page 22: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

3.2.3. User-Defined ProjectApplet 을 구성하는 데이터 형태 및 APDU 명령어 셋을 정의하여 초기 소스코드를 생성하는 개발 모드 입니다.3.2.3.1. 파일(Record) 구조 정의

그림 13 파일 생성/수정/삭제

파일은 동적으로 추가, 수정 그리고 삭제가 가능합니다. 파일 용량은 최대 20Kbyte까지 추가하실 수 있습니다. 입력하신 파일 이름과 Record 크기 그리고 Record 개수는 프로젝트 생성 완료 시 해당 값을 토대로 소스가 Generate 됩니다.

22

Page 23: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

3.2.3.2. API 정의

그림 14 API 생성/수정/삭제

API 즉, 규격서에 명시한 APDU 명령어를 추가, 수정 그리고 삭제가 가능합니다. 해당 과정은 선택적으로 수행할 수 있습니다. 위 입력 값 중 API Name 과 INS 값은 필수 입력 사항이고 고유 값이어야 합니다. 그리고 INS값을 제외한 항목은 여러 값을 입력할 수 있으며 쉼표(,)로 구분합니다. 입력하신 API 는 프로젝트 생성 완료 시 해당 값을 토대로 Source 가 Generate 됩니다.

23

Page 24: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

3.3. 프로젝트 생성

그림 15 User-defined 모드로 프로젝트 생성

Applet 프로젝트 생성이 완료될 경우 아래와 같은 사항이 적용됩니다. SmartTouch Applet Nature 생성

SmartTouch Applet Nature 는 SmartTouch Applet 프로젝트를 구성하며, 프로젝트가 SmartTouch Applet 자체 아이콘으로 생성됩니다.

SmartTouch Applet Builder 생성SmartTouch Applet Builder 는 SmartTouch Applet 의 자체 빌더로 Cap 파일 생성을 위해 추가된 속성입니다.

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

SmartTouch Applet 라이브러리 생성Applet 개발에 필요 JCDT(Java Card Development Toolkit) 라이브러리를 해당 프로젝트에 자동으로 포함되는 기능을 제공합니다.

Source Generate

24

Page 25: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

프로젝트 생성 시 선택한 모드에 따라 소스가 자동으로 생성됩니다.

25

Page 26: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

4. Applet ManagerApplet 을 관리하는 창으로 신규 AID 획득, 기 등록한 Applet 정보 조회 및 수정, 신규 Applet 및 CAP 등록, Applet 에 대한 검증 진행 상태 조회 그리고 테스트 결과 확인이 가능합니다.Applet Manager 는 생성된 프로젝트 이름을 선택한 후 오른쪽 마우스 버튼 또는 툴바에 있는 Applet Manager 버튼을 누르면 실행됩니다. 실행 시 비(非) 로그인일 경우 로그인 팝업 창이 나타난 후 로그인이 성공 하면 Applet Manager 가 실행됩니다.

그림 16 Applet Manager Context 메뉴

그림 17 Applet Manager Toolbar

26

Page 27: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

4.1. Applet 및 Cap 파일 정보 조회Applet Manager 를 실행하면 아래 그림과 같이 해당 프로젝트에 등록한 Applet 과 Cap 파일 정보가 보입니다. 만약 등록한 Applet 이 없을 경우 빈 내용으로 보입니다.그리고 하단에 있는 ‘My Applets 가져오기’ 버튼을 클릭하면 로그인한 해당 계정으로 등록한 Applet 을 가져올 수 있습니다.

그림 18 Applet Manager 창

조회 가능한 Applet 정보는 아래와 같습니다.항목 설명 필수 사항

Applet Name 등록한 Applet 명 MandatoryVersion 등록한 Applet 버전 MandatoryInstance AID 발급 받은 Instance AID MandatorySD 사용 SD 사용 여부 (사용/미사용) Mandatory이미지 등록한 Applet Image 파일 Mandatory규격서 등록한 규격서 파일명 Optional

표 2 Applet 조회 정보

조회 가능한 Cap 파일 정보는 아래와 같습니다.항목 설명 필수 사항

27

Page 28: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

File name 등록한 Cap 파일 명 MandatoryCap Version 등록한 Cap 파일의 버전 (형식: X.Y) Mandatory

검증상태등록한 Cap 파일의 검증 상태로 ‘검증 중’, ‘검증 성공’, ‘검증 반려’ 3 가지로 표현

Mandatory

표 3 Cap 파일 조회 정보

개발자가 Cap 파일을 여러 개 등록했을 경우, Applet Manager 는 최근에 등록한 Cap 파일 하나의 정보만 조회가 가능합니다. Cap 파일을 등록한 이력은 개발자 POC 에서 확인이 가능합니다.

28

Page 29: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

4.2. Applet 관리Applet Manager 는 Applet 을 등록, 수정, 삭제가 가능합니다.

4.2.1. Applet 등록

Applet 명 등의 Applet 기본 정보를 입력하고 발급 받은 AID 정보를 매핑하여 Applet 정보를 등록합니다. Applet 기본 정보 중 SD 사용여부는 수정 불가능하고 발급 받은 SD Key 는 이후 조회도 불가능합니다.

그림 19 Applet 등록 화면

등록할 Applet 기본 정보는 아래와 같습니다.

29

Page 30: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

항목 설명 필수 사항

Applet Name Applet 명 MandatoryVersion Applet 버전 MandatoryApplet AID 발급 받은 Applet AID MandatoryPackage AID 발급 받은 Package AID MandatoryInstance AID 발급 받은 Instance AID Mandatory이미지 Applet 이미지 파일 Mandatory

SD 사용여부SD 키 사용 여부로 해당 기능을 사용 시, SD키 자동생성 기능을 이용하여 ENC KEY, MAC KEY, KEK KEY 각 3 개씩 총 9 개의 Key 를 생성

Mandatory

규격서 규격서 파일 Optional

표 4 Applet 등록 정보

위 Applet 등록 화면에서 단말 설치 이미지 옆의 ‘List’ 버튼은 SmartTouch Applet IDE 에서 기본적으로 제공하는 시스템 아이콘입니다.

4.2.1.1. AID 발급

기존 목록에서 선택 또는 신규 AID 발급을 통해 가능합니다. AID 는 BP 정보를 기준으로 최대 10 개까지 발급이 가능합니다.4.2.1.1.1. 신규 AID 발급

신규 AID (Instance AID, Applet AID, Package AID)를 발급하고 발급된 AID 는 BP 정보를 기준으로 공유합니다.

4.2.1.1.2. 기존 목록에서 선택

BP 정보를 기준으로 발급받은 AID 중 미 사용 중인 목록을 조회하여 선택합니다.

30

Page 31: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 20 기존 목록에서 AID 선택 화면

4.2.2. Applet 수정

등록된 Applet 의 정보를 수정하는 기능입니다. 등록된 Applet 정보는 시기 제한 없이 수정이 가능합니다.

그림 21 Applet 수정 화면

수정 가능한 Applet 정보는 아래와 같습니다.31

Page 32: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

항목 설명 필수 사항

Applet Name Applet 명 OptionalVersion Applet 버전 Optional이미지 Applet 이미지 파일 Optional규격서 규격서 파일 Optional

표 5 Applet 수정 정보

4.2.3. Applet 삭제

등록된 Applet 을 삭제하는 기능입니다. 단, 해당 Applet 에 관련 Cap 파일이 ‘등록 중’ 상태일 경우에만 삭제가 가능하고 Applet 정보와 Cap 파일 정보 모두 삭제합니다.

32

Page 33: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

4.3. Cap 파일 관리Cap 파일은 ‘등록 중’, ‘검증 중’, ‘검증 성공’, ‘검증 반려’, ‘서비스 중’, 그리고 ‘서비스 종료’ 6가지 상태 정보를 가지며 이 상태 정보에 따라 Cap 파일의 등록 및 수정이 가능합니다.

4.3.1. Cap 파일 등록

등록된 Applet 에 Cap 파일의 정보 및 물리 파일을 등록하는 기능입니다. 신규 Cap 파일 또는 Cap 파일 상태가 ‘서비스 중’일 경우에만 Cap 파일 등록이 가능합니다.

그림 22 신규 Cap 파일 등록 화면

등록할 Cap 파일 정보는 아래와 같습니다.항목 설명 필수 사항

Cap File 등록할 Cap 물리 파일 및 파일 명 MandatoryVersion 등록할 Cap 파일의 버전 Mandatory

Install Parameter

Install Parameter 값(Install Parameter 미 입력 시, C900 으로 자동 셋팅됨)

Optional

서비스 시작 서비스 시작일 MandatoryDescription Cap 파일 설명 Optional

표 6 Cap 파일 등록 정보

4.3.2. Cap 파일 수정

등록된 Cap 파일의 정보 및 물리파일을 수정하는 기능입니다. Cap 파일의 현재 상태가 ‘등록 중’, ‘검증 반려’, ‘검증 성공’ 시에만 수정이 가능합니다.

33

Page 34: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

수정 가능한 Cap 파일 정보는 아래와 같습니다. 단, ‘검증 성공’일 경우에는 서비스 시작일 정보만 수정이 가능합니다.

항목 설명 필수 사항

Cap File 수정할 Cap 물리 파일 및 파일 명 OptionalVersion 수정할 Cap 파일의 버전 Optional

Install Parameter

Install Parameter 값(Install Parameter 미 입력 시, C900 으로 자동 셋팅됨)

Optional

서비스 시작 서비스 시작일 OptionalDescription Cap 파일 설명 Optional

표 7 Cap 파일 수정 정보

그림 23 검증 성공일 경우 Cap 파일 정보 수정 화면

4.3.3. Cap 파일 업데이트

등록된 Cap 파일이 이미 ‘서비스 중’ 상태일 경우 기존의 Cap 파일을 새로운 Cap 파일의 정보 및 물리파일로 업데이트 하는 기능입니다. 즉, 새로운 Cap 파일을 등록하는 기능입니다. 개발자가 등록한 Cap 파일 이력은 개발자 POC 에서 확인이 가능합니다.

34

Page 35: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 24 Cap 파일 업데이트

35

Page 36: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

4.4. 검증 요청개발자가 Cap 파일을 등록한 후 운영자에게 검증을 요청하는 기능으로 Applet Manager 창의 ‘검증요청’ 버튼을 클릭하면 됩니다. 검증 요청은 Cap 파일 상태가 ‘등록 중’ 또는 ‘검증 반려’ 일 경우에만 가능합니다.검증요청의 결과 값으로는 검증 중, 검증 성공 그리고 검증 반려로 각각의 상태에 따른 Applet Manager 화면 창은 아래와 같습니다.

검증 중인 경우검증 요청 버튼을 누르거나, 등록 된 Cap 파일의 상태가 ‘검증 중’인 경우 입니다.

그림 25 Cap 파일이 검증 중 상태인 경우

검증 성공인 경우검증 성공인 경우에는 Applet 과 Cap 파일 수정이 가능합니다. 이 때, Cap 파일은 서비스 시작일만 수정이 가능합니다.

36

Page 37: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 26 Cap 파일이 검증 성공 상태인 경우

검증 반려인 경우검증 반려인 경우 Applet 과 Cap 파일 수정 및 검증 요청이 가능합니다. 그리고 ‘Details’버튼을 클릭하여 운영자의 검증 의견을 조회 가능합니다.

그림 27 Cap 파일이 검증 반려 상태인 경우

37

Page 38: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 28 검증 상세정보

검증 의견 정보는 아래와 같습니다.항목 설명 필수 사항

Version 검증을 요청한 최신 Cap 파일 버전 MandatoryDate 검증을 수행한 날짜 MandatoryComments 검증 의견 Mandatory

표 8 검증 의견 정보

38

Page 39: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

5. Applet 통합 테스트

Applet 개발자는 Applet IDE 에서 제공되는 AppletTC 안드로이드용 테스트 어플리케이션을 통해 개발자 검증을 진행할 수 있는 기능을 제공합니다. 테스트 어플리케이션은 SmartTouch에서 제공하는 Applet 발급/삭제, Lock/Unlock 을 비롯하여 직접 APDU 명령어를 입력하여 동작을 테스트해볼 수 있습니다. 그 외 동작은 Application IDE 를 통해 직접 안드로이드용 어플리케이션을 만들어 테스트가 가능합니다. (자세한 내용은 Application IDE 사용자 가이드 참조바랍니다.)안드로이드 에뮬레이팅 환경으로 테스트할 경우 아래와 같은 연동 구성도를 가지며 SmartCard Reader 기를 통해 테스트할 수 있습니다.

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

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

39

Page 40: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

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

그림 30 Applet Test 실행

Run 구동 시, 아래와 같은 사항이 수행됩니다. 안드로이드 테스트 어플리케이션 설치

개발자 PC 에 연결되어 있는 안드로이드 기기 및 에뮬레이터에 Applet 의 기본 동작 테스트가 가능한 안드로이드 테스트 어플(이하 AppletTC)를 설치합니다.

AppletTC 어플리케이션에 테스트 시 필요한 값 전달Applet IDE 에서 제공해 주는 안드로이드용 테스트 어플리케이션(AppletTC)에 Applet Name, Applet Version 그리고 Instance AID 값 등 검증에 필요한 데이터를 전달합니다. 만약 위 데이터가 없는 상태에서 AppletTC 를 실행 시, 테스트가 불가하여 정상적으로 구동이 되지 않습니다.

실 기기가 아닌 에뮬레이터 환경에서 테스트할 경우 아래 사항이 추가 수행됩니다. Secure Element I/O Emulator (SE I/O Emulator) 설치 Smart Card Reader Adapter Daemon 실행.

5.1. Secure Element I/O EmulatorSecure Element I/O Emulator (이하 SE I/O Emulator)는 단말 환경하에서 임베드 되어 제공되는 SE I/O Service 를 에뮬레이팅용으로 변경하여 제공하는 모듈입니다.

40

Page 41: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

이 SE I/O Emulator 는 SmartTouch Component 로부터 인입되는 APDU Command 를 단말의 USIM 이 아닌 Smart Card Reader Adapter Daemon 을 통해 스마트 카드 리더기에 전달합니다.

5.2. Smart Card Reader Adapter Daemon

그림 31 SCRAD 실행 화면

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

41

Page 42: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

5.3. Applet TCApplet 의 설치/삭제 및 Lock/Unlock 등의 기본 기능 테스트와 APDU 명령에 대한 사용자 구성을 통해 Applet 만의 특화된 비즈니스 로직을 테스트할 수 있는 기능을 제공하는 안드로이드 테스트 어플리케이션입니다.Run 으로 AppletTC 를 실행 시 해당 프로젝트에 Applet 과 Cap 파일이 서버에 등록되어 있어야 정상적으로 실행하실 수 있습니다.AppletTC 를 처음 실행하실 경우 SEIOAgent.apk 설치를 하셔야 합니다. 만약 위 서비스 어플을 미 설치 시 정상적으로 테스트가 되지 않을 수 있습니다.

5.3.1. 기본 테스트

Applet 의 Install, Select, Lock, Unlock 그리고 Delete 의 기본 기능을 테스트합니다. 기본테스트에서 고급테스트로 이동 시, USIM 에 해당 Applet 이 설치가 되어 있어야 하며 Lock 상태가 아닐 경우에만 이동 가능 합니다.

그림 32 기본 테스트 화면

42

Page 43: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

해당 기능을 테스트한 후 ‘서버로그확인’ 버튼을 클릭하면 각각의 테스트에 대한 서버 로그 기록을 볼 수 있습니다. 서버로그는 아래 두 가지 경로를 통해 볼 수 있습니다.

어플리케이션 상에서 팝업 창으로 확인서버 로그 기록을 성공적으로 가져오면 자동으로 테스트 어플리케이션에서 아래와 같이 로그 기록을 볼 수 있도록 창을 띄웁니다.

그림 33 서버 로그 기록 팝업 창 화면

Eclipse 의 Android LogCat View 로 확인 Eclipse 에 Android SDK 및 ADT Plugin 을 정상적으로 설치하면 LogCat View 창을 통해 실행 중인 어플리케이션의 로그를 볼 수 있습니다. LogCat View 창 실행 방법은 부록을 보시기 바랍니다.

43

Page 44: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 34 LogCat 화면

44

Page 45: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

5.3.2. 고급 테스트

APDU 명령어를 직접 입력하거나 Script 를 실행하여 Applet 를 테스트할 수 있습니다.

그림 35 고급 테스트 화면

5.3.2.1. Script 실행

Script 는 아래와 같은 선행 조건이 만족 시 실행 가능합니다.① SD 카드가 존재합니다.② ‘/smarttouch/test/script’ 디렉토리에 ‘.txt’ Script 파일이 존재하여야 합니다.

Script 실행 완료 시, 안드로이드 어플에서 결과를 볼 수 있고, 뿐만 아니라 ‘/smarttouch/test/script/log’ 디렉토리에 파일로도 결과를 저장하여 볼 수 있습니다.Script 작성 규격은 부록을 참조하시기 바랍니다.

45

Page 46: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

6. 부록

6.1. Android LogCat View 창 실행① Eclipse 화면 하단에 있는 Show View as a Fast View 버튼 > Other… 을 클릭합니다.

그림 36 Show View as a Fast View

② Android 탭에서 LogCat 을 클릭합니다.

46

Page 47: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 37 Show View③ DDMS Perspective 를 클릭하여 PC 에 연결되어 있는 안드로이드 기기 중 로그를

보고자 하는 기기를 선택하면 어플리케이션의 로그를 볼 수 있습니다.

그림 38 Perspective 창

47

Page 48: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 39 Device 선택 화면

48

Page 49: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

6.2. Android Emulator SD Card 사용 방법

6.2.1. SD Card 가 탑재되어 있는 Android Emulator 생성

① Android Virtual Device Manager 를 실행하여 새로운 Android Virtual Device (AVD)를 생성합니다.

② SD Card Size 에 사용하고자 하는 SD Card 의 크기를 지정합니다.

그림 40 SD Card 가 탑재된 AVD 생성

6.2.2. Emulator 의 SD Card 사용 방법

① DDMS Perspective 창에서 안드로이드 기기 목록 중 사용하고자 하는 Device 를 선택합니다..

② File Explorer View 의 ‘mnt > sdcard’ 디렉토리에 접근합니다.

49

Page 50: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

그림 41 Virtual SD Card 영역

③ File Explorer 의 오른쪽 상단의 Pull 또는 Push 버튼을 사용하여 SD Card 의 특정 디렉토리 위치에 있는 파일을 가져오거나 사용자 PC 에 있는 파일을 넣을 수 있습니다.

그림 42 Push or Pull a file

50

Page 51: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

6.3. Script 작성 방법

6.3.1. 기본 규칙

명령어, 변수명은 대문자만 사용 가능

명령어 앞 공백 문자(SPACE, TAB) 문자 사용 불가

변수명은 숫자로 시작 불가

16 진수 숫자 데이터는 0x 를 앞에 붙여서 표현 ( 16 진수 FF(255) 0xFF ) 공백은 SPACE 로 구분 (TAB 사용 불가) 명령어의 각 ARGUMENT 는 쉼표( “,” )를 사용하여 구분

6.3.2. Script Command Proto Type 에 대괄호(“[ ]”)로 표현한 ARGUMENT 는 생략 가능

논리연산의 ARGUMENT 가 문자형 변수인 경우 HEX 문자열로 간주

Type Command Description Usage

변수선언 STRING 문자열 변수 선언 STRING VAR_NAME [ , VAR_VALUE]- VAR_NAME : 사용할 변수명- VAR_VALUE : 변수의 초기값 (문자열 “”)

NUMERIC 숫자 변수 선언 NUMERIC VAR_NAME [ , VAR_VALUE]- VAR_NAME : 사용할 변수명- VAR_VALUE : 변수의 초기값 (숫자)

※ 숫자형식 : 10 진 숫자 or 16 진(0xFF)SET 기 선언된 변수 값

설정SET VAR_NAME, VAR_VALUE

- VAR_NAME : 값 설정할 변수명- VAR_VALUE : 대입할 변수값

기본 명령어 SEND APDU 명령어 전달 (실행)

SEND CMD, RESP, STWORD- CMD : 실행할 APDU 명령 (문자열 또는 변수명)- RESP : APDU 응답 데이터를 저장할 문자열 변수명- STWORD : 응답상태를 저장할 문자형 변수명

// 라인 주석 처리 // LINE_COMMENT- LINE_COMMNET : 주석 내용

문자열 처리 LEFT 문자열 왼쪽부터 지정된 수 만큼의 문자를 조회

LEFT VAR_NAME, STR, LENGTH- VAR_NAME : 조회한 문자열을 저장할 변수- STR : 조회할 문자열 또는 문자형 변수- LENGTH : 조회할 길이

RIGHT 문자열 오른쪽부터 지정된 수 만큼의 문자를 조회

RIGHT VAR_NAME, STR, LENGTH- VAR_NAME : 조회한 문자열을 저장할 변수- STR : 조회할 문자열 또는 문자형 변수- LENGTH : 조회할 길이

MID 한 문자열에서 특정 위치로부터 지정된 수의 문자를 조회

MID VAR_NAME, STR, OFFSET [ , LENGTH]- VAR_NAME : 조회한 문자열을 저장할 변수- STR : 조회할 문자열 또는 문자형 변수- OFFSET : 조회를 시작할 위치 인덱스- LENGTH : 조회할 길이 (생략 시 끝까지)

LEN 문자열 길이조회 LEN VAR_NAME, STR- VAR_NAME : 길이 저장할 숫자형 변수- STR : 길이 조회할 문자열 또는 문자형 변수

APPEND 여러 문자열을 합침 APPEND VAR_NAME, STR [ , STR ….]51

Page 52: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

- VAR_NAME : 합친 문자열을 저장할 문자형 변수- STR : 합칠 문자열 혹은 문자형 변수

※ 결과는 (VAR_NAME 문자열) + STR [ + STR + …..]COMPARE 두 문자열 비교 COMPARE STR1, STR2, RESULT

- STR1, STR2 : 비교할 두 문자열- RESULT : 예상되는 비교 결과

RESULT Definition0 STR1 == STR21 STR1 > STR2-1 STR1 < STR2

형 변환 TOSTR 숫자형 변수를 HEX문자열(문자형) 변수로 변환

TOSTR VAR_NAME, NUM- VAR_NAME : 변환 결과를 저장할 문자형 변수- NUM : 변환할 숫자 혹은 숫자형 변수

TONUM HEX 문자열(문자형) 변수를 숫자형 변수로 변환

TONUM VAR_NAME, STR- VAR_NAME : 변환 결과를 저장할 숫자형 변수- STR : 변환할 HEX 문자열 혹은 문자형 변수

암호화 ENCRYPT 대칭 키 암호화 연산을 수행

ENCRYPT VAR_NAME, STR, KEY, ALGORITHM, MODE- VAR_NAME : 암호화한 문자열을 저장할 문자형 변수- STR : 암호화 할 문자열 혹은 문자형 변수- KEY : 대칭 키- ALGORITHM : 암호화에 사용할 알고리즘 (DES,

TDES, AES128, AES192, AES256)- MODE : 암호화 모드(CBC, ECB)

DECRYPT 대칭 키 복호화 연산을 수행

DECRYPT VAR_NAME, STR, KEY, ALGORITHM, MODE- VAR_NAME : 복호화한 문자열을 저장할 문자형 변수- STR : 복호화 할 문자열 혹은 문자형 변수- KEY : 대칭 키- ALGORITHM : 복호화에 사용할 알고리즘 (DES,

TDES, AES)- MODE : 복호화 모드(CBC, ECB)

RANDOM 호스트 난수를 생성 RANDOM VAR_NAME, LENGTH- VAR_NAME : 생성된 난수를 저장할 문자형 변수- LENGTH : 생성할 난수의 BYTE 수

논리연산 AND AND 연산 AND VAR_RET, VAR_VALUE1, VAR_VALUE2 [, VAR_VALUE3, ...]

- VAR_RET : 연산한 결과를 저장할 변수- VAR_VALUE : 연산하려는 값 혹은 변수

(VAR_RET 과 VAR_VALUE 는 동일 타입)OR OR 연산 OR VAR_RET, VAR_VALUE1, VAR_VALUE2 [,

VAR_VALUE3 ….]- VAR_RET : 연산한 결과를 저장할 변수- VAR_VALUE : 연산하려는 값 혹은 변수

(VAR_RET 과 VAR_VALUE 는 동일 타입)XOR XOR 연산 XOR VAR_RET, VAR_VALUE1, VAR_VALUE2 [,

VAR_VALUE3 ….]- VAR_RET : 연산한 결과를 저장할 변수- VAR_VALUE : 연산하려는 값 혹은 변수

(VAR_RET 과 VAR_VALUE 는 동일 타입)NOT NOT 연산 NOT VAR_RET, VAR_VALUE

- VAR_RET : 연산한 결과를 저장할 변수- VAR_VALUE : 연산하려는 값 혹은 변수

(VAR_RET 과 VAR_VALUE 는 동일 타입)

표 9 스크립트 명령어52

Page 53: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

53

Page 54: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

사용 예는 아래와 같습니다.// 변수 선언

STRING CMD

STRING ENCPASSCODE

NUMERIC CLEN

// 변수 선언 및 초기값 설정

STRING SPA_KEY1, "E3A79EC82329011AF202130D9701FECB"

NUMERIC COUNT, 5

// APDU 실행 (Select)

STRING RESP

STRING SW

SEND "00A404000822334455667788BB", RESP, SW

// 암호화

STRING ENC_STR

STRING PLN_STR

SET PLN_STR, “00EA8F9000”

ENCRYPT ENC_STR, PLN_STR, “1234ABCD7890EFGH”, TDES, CBC

54

Page 55: SK Planet Open Platform 구축 · Web viewSmart Card Reader Adapter Daemon (이하 SCRAD)는 에뮬레이터용 SE I/O 모듈에서 전달된 요청을 파싱하여 APDU Command를

7. FAQ1. 프로젝트 빌드 에러 시, 원인을 어떻게 알 수 있나요?

Eclipse 의 Problems View 에서 프로젝트 빌드 에러에 관련된 설명을 보실 수 있습니다.

2. Applet 빌드 시, ‘unsupported class file format of version 50.0’ 에러가 뜨는데 원인이 뭔가요?

해당 에러는 JDK 버전이 맞지 않아 나타나는 오류입니다. Java Card Development Toolkit 사용 하여 Applet 을 빌드 시 JDK 1.5 이하 버전에서 정상적으로 빌드가 이루어집니다.

3. AppletTC 어플에서 세션 만료 에러가 떴습니다.AppletTC 에서 로그인 세션은 3 시간 이후 만료됩니다. 해당 에러가 뜰 경우 어플을 종료 후 Applet IDE 에서 해당 Applet 을 다시 Run 해주시면 됩니다.

55